Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Обзорная лекция по курсу ООП.docx
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
47.62 Кб
Скачать

Обзорная лекция по курсу: «Основы ооп»

В процессе изучения данной дисциплины студент:

  • будет иметь представление

    • о концепциях и технологиях объектно-ориентированного программирования (ООП) и реализации их в современных объектно-ориентированных языках программирования;

    • о способах создания эффективного программного обеспечения с использованием возможностей объектно-ориентированной среды программирования Delphi;

      • будет знать

    • основные принципы и определения объектно-ориентированного программирования;

    • об объектно-ориентированных средствах, реализуемых в среде программирования Delphi;

  • будет уметь

    • создавать и использовать объекты в среде программирования Delpi

    • выполнять отладку и тестирование программного продукта и оформлять программную документацию.

Литература

  1. Г.С.Иванова, Т.Н.Ничушкина, Е.К.Пугачев Объектно-ориентированное программирование: учеб.для вузов/ Под. ред. Г.С.Ивановой. – М.: Изд.МГТУ им. Н.Э.Баумана, 2001. –320с.

  2. Культин, Н. Б.   Программирование в Turbo Pascal 7.0 и Delphi  [Текст] : самоучитель / Н. Б. Культин. - CПб. : БХВ-Петербург, 2003. - 416 с. : ил + 1 дискета. 

  3. Фаронов, В.В.Delphi. Программирование на языке высокого уровня : учебник для вузов / В. В. Фаронов. - CПб. [и др.] : Питер, 2006. - 640 с.

  1. Цели структурного программирования

В основе структурного программирования лежит декомпозиция (разбиение на части) сложных систем с целью последующей реализации в виде отдельных небольших (от 40…50 операторов) подпрограмм.

Обеспечить дисциплину программирования

Обеспечение дисциплины программирования в процессе создания прог­раммных комплексов является основной целью структурного программирова­ния и главным фактором достижения остальных его целей.

Улучшать читабельность программы

Читабельность улучшается, если придерживаться следующих правил:

  • избегать использования языковых конструкций с неочевидной семантикой;

  • стремиться к локализации действия управляющих конструкций и использо­вания структур данных;

  • разрабатывать программу так, чтобы ее можно было читать от начала до конца без управляющих переходов.

Повышать эффективность программы

Повышения эффективности можно достигнуть, если выполнять структу­рирование программы, разбивая ее на модули так, чтобы можно было легко находить и корректировать ошибки, а также чтобы текст любого модуля с це­лью увеличения эффективности можно было переделать независимо от других.

Повышать надежность программы

Высокой надежности функционирования программы можно достичь, ес­ли она будет легко поддаваться сквозному тестированию и не создаст проблем для организации процесса отладки. Это обеспечивается хорошим структуриро­ванием программы при разбивке ее на модули и выполнением правил написа­ния читабельных программ.

Уменьшать время и стоимость программной разработки

Уменьшение стоимости и времени разработки программных комплексов происходит в том случае; если каждый программист команды разработчиков становится способным писать и отлаживать большее количество программного кода, чем раньше. То есть, когда повышается производительность труда прог­раммиста. Соблюдение правил структурного программирования позволяет это­го достигнуть.

2 Основные принципы структурной методологии

Были сформулированы основные принципы выполнения разработки:

  • принцип нисходящей разработки, рекомендующей на всех этапах определять наиболее общие моменты, а затем поэтапно выполнять детализацию;

  • собственно структурное программирование, рекомендующие определенные структуры алгоритмов и стиль программирования (чем нагляднее текст программы, тем меньше ошибок);

  • принцип сквозного структурного контроля, предполагающий проведение содержательного контроля всех этапов разработки (чем раньше обнаружена ошибка, тем проще ее исправить).

3 Правила модульного программирования

  1. Программа должна разделяться на независимые части, называемые моду­лями.

  2. Модуль – это независимый блок, код которого физически и логически отделен от кода других модулей.

  3. Модуль выполняет только одну логическую функцию.

  4. Взаимосвязи между модулями устанавливаются по иерархической структу­ре.

  5. Каждый модуль должен начинаться с комментария, объясняющего его назначение, назначение переменных, передаваемых в модуль и из него, модулей, которые его вызывают, и модулей, которые вызываются из него.

  6. Избегать ненужных меток и использовать оператор goto только для пере­ходов на входную или выходную точку модуля, или вообще не использо­вать.

  7. Идентификаторы всех переменных и модулей должны быть смысловыми.

  8. Родственные группы идентификаторов должны начинаться с одинакового префикса.

  9. Использовать только стандартные управляющие конструкции (выбор, цикл, выход, блок).

  10. В одной строке записывать не более одного оператора. Если для записи оператора требуется больше, чем одна строка, то все последующие строки записываются с отступами.

  11. Не допускать вложенности операторов if более 3-х уровней.

  12. Избегать использования языковых конструкций с неочевидной семанти­кой и программистских "трюков". Например, в языке С вполне допустима следующая программа, которая работает противоположно тому, что долж­но было бы быть на первый взгляд:

4 Основные принципы объектно-ориентированного программирования

Объектно-ориентирован­ное программирование (ООП) – это методология программирования, которая ос­нована на представлении программы в виде совокупности объектов, каждый из ко­торых является реализацией определенного класса (типа), а классы образу­ют иерархию на принципах наследуемости.

В основу ООП положены следующие принципы: абстрагирование, ограничение доступа, модульность, иерархичность, типизация, параллелизм, устойчивость.

Абстрагирование- процесс выделения абстракций в предметной области задачи. Абстракция – совокупность существенных характеристик некоторого объекта, которые отличают его от всех других видов объектов и, таким образом, четко определяют особенности данного объекта с точки зрения дальнейшего рассмотрения и анализа.

Ограничение доступасокрытие отдельных элементов реализации абстракции, не затрагивающих существенных характеристик ее как целого.

Модульностьпринцип разработки программной системы, предполагающий реализацию его в виде отдельных частей (модулей). Принцип унаследован от модульного программирования, следование ему упрощает проектирование и отладку программы.

Иерархия - ранжированная или упорядоченная схема абстракций. В ООП используется два вида иерархии.

Типизация ограничение, накладываемое на свойства объекта и препятствующее взаимозаменяемости абстракций различных типов.

Устойчивость свойство абстракции существовать во времени независимо от процесса, породившего данный программный объект, и/или в пространстве, перемещаясь из адресного пространства, в котором он был создан.

Параллелизм свойство нескольких абстракций одновременно находится в активном состоянии, т.е. выполнять некоторые операции.