
- •Обзорная лекция по курсу: «Основы ооп»
- •5 Основные механизмы ооп
- •6 История создания объектно-ориентированных систем программирования
- •7 Определение класса
- •Таким образом, структура модуля, содержащего описание класса, приблизительно выглядит следующим образом:
- •8 Конструкторы и деструкторы
- •9 Наследование в Object Pascal. Правила наследования.
- •10 Реализация событий на уровне языка Object Pascal
- •11 Понятие «исключительная ситуация»
Обзорная лекция по курсу: «Основы ооп»
В процессе изучения данной дисциплины студент:
будет иметь представление
о концепциях и технологиях объектно-ориентированного программирования (ООП) и реализации их в современных объектно-ориентированных языках программирования;
о способах создания эффективного программного обеспечения с использованием возможностей объектно-ориентированной среды программирования Delphi;
будет знать
основные принципы и определения объектно-ориентированного программирования;
об объектно-ориентированных средствах, реализуемых в среде программирования Delphi;
будет уметь
создавать и использовать объекты в среде программирования Delpi
выполнять отладку и тестирование программного продукта и оформлять программную документацию.
Литература
Г.С.Иванова, Т.Н.Ничушкина, Е.К.Пугачев Объектно-ориентированное программирование: учеб.для вузов/ Под. ред. Г.С.Ивановой. – М.: Изд.МГТУ им. Н.Э.Баумана, 2001. –320с.
Культин, Н. Б. Программирование в Turbo Pascal 7.0 и Delphi [Текст] : самоучитель / Н. Б. Культин. - CПб. : БХВ-Петербург, 2003. - 416 с. : ил + 1 дискета.
Фаронов, В.В.Delphi. Программирование на языке высокого уровня : учебник для вузов / В. В. Фаронов. - CПб. [и др.] : Питер, 2006. - 640 с.
Цели структурного программирования
В основе структурного программирования лежит декомпозиция (разбиение на части) сложных систем с целью последующей реализации в виде отдельных небольших (от 40…50 операторов) подпрограмм.
Обеспечить дисциплину программирования
Обеспечение дисциплины программирования в процессе создания программных комплексов является основной целью структурного программирования и главным фактором достижения остальных его целей.
Улучшать читабельность программы
Читабельность улучшается, если придерживаться следующих правил:
избегать использования языковых конструкций с неочевидной семантикой;
стремиться к локализации действия управляющих конструкций и использования структур данных;
разрабатывать программу так, чтобы ее можно было читать от начала до конца без управляющих переходов.
Повышать эффективность программы
Повышения эффективности можно достигнуть, если выполнять структурирование программы, разбивая ее на модули так, чтобы можно было легко находить и корректировать ошибки, а также чтобы текст любого модуля с целью увеличения эффективности можно было переделать независимо от других.
Повышать надежность программы
Высокой надежности функционирования программы можно достичь, если она будет легко поддаваться сквозному тестированию и не создаст проблем для организации процесса отладки. Это обеспечивается хорошим структурированием программы при разбивке ее на модули и выполнением правил написания читабельных программ.
Уменьшать время и стоимость программной разработки
Уменьшение стоимости и времени разработки программных комплексов происходит в том случае; если каждый программист команды разработчиков становится способным писать и отлаживать большее количество программного кода, чем раньше. То есть, когда повышается производительность труда программиста. Соблюдение правил структурного программирования позволяет этого достигнуть.
2 Основные принципы структурной методологии
Были сформулированы основные принципы выполнения разработки:
принцип нисходящей разработки, рекомендующей на всех этапах определять наиболее общие моменты, а затем поэтапно выполнять детализацию;
собственно структурное программирование, рекомендующие определенные структуры алгоритмов и стиль программирования (чем нагляднее текст программы, тем меньше ошибок);
принцип сквозного структурного контроля, предполагающий проведение содержательного контроля всех этапов разработки (чем раньше обнаружена ошибка, тем проще ее исправить).
3 Правила модульного программирования
Программа должна разделяться на независимые части, называемые модулями.
Модуль – это независимый блок, код которого физически и логически отделен от кода других модулей.
Модуль выполняет только одну логическую функцию.
Взаимосвязи между модулями устанавливаются по иерархической структуре.
Каждый модуль должен начинаться с комментария, объясняющего его назначение, назначение переменных, передаваемых в модуль и из него, модулей, которые его вызывают, и модулей, которые вызываются из него.
Избегать ненужных меток и использовать оператор goto только для переходов на входную или выходную точку модуля, или вообще не использовать.
Идентификаторы всех переменных и модулей должны быть смысловыми.
Родственные группы идентификаторов должны начинаться с одинакового префикса.
Использовать только стандартные управляющие конструкции (выбор, цикл, выход, блок).
В одной строке записывать не более одного оператора. Если для записи оператора требуется больше, чем одна строка, то все последующие строки записываются с отступами.
Не допускать вложенности операторов if более 3-х уровней.
Избегать использования языковых конструкций с неочевидной семантикой и программистских "трюков". Например, в языке С вполне допустима следующая программа, которая работает противоположно тому, что должно было бы быть на первый взгляд:
4 Основные принципы объектно-ориентированного программирования
Объектно-ориентированное программирование (ООП) – это методология программирования, которая основана на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного класса (типа), а классы образуют иерархию на принципах наследуемости.
В основу ООП положены следующие принципы: абстрагирование, ограничение доступа, модульность, иерархичность, типизация, параллелизм, устойчивость.
Абстрагирование- процесс выделения абстракций в предметной области задачи. Абстракция – совокупность существенных характеристик некоторого объекта, которые отличают его от всех других видов объектов и, таким образом, четко определяют особенности данного объекта с точки зрения дальнейшего рассмотрения и анализа.
Ограничение доступа – сокрытие отдельных элементов реализации абстракции, не затрагивающих существенных характеристик ее как целого.
Модульность – принцип разработки программной системы, предполагающий реализацию его в виде отдельных частей (модулей). Принцип унаследован от модульного программирования, следование ему упрощает проектирование и отладку программы.
Иерархия - ранжированная или упорядоченная схема абстракций. В ООП используется два вида иерархии.
Типизация – ограничение, накладываемое на свойства объекта и препятствующее взаимозаменяемости абстракций различных типов.
Устойчивость – свойство абстракции существовать во времени независимо от процесса, породившего данный программный объект, и/или в пространстве, перемещаясь из адресного пространства, в котором он был создан.
Параллелизм – свойство нескольких абстракций одновременно находится в активном состоянии, т.е. выполнять некоторые операции.