Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы тп фул.docx
Скачиваний:
6
Добавлен:
26.09.2019
Размер:
463.85 Кб
Скачать
  1. Технология программирования. Методология объектно-ориентированного программирования. Основные принципы ооп: наследование, инкапсуляция, полиморфизм.

Технология программирования – набор правил, методик и инструментов, предопределяющих процесс разработки программного продукта, процесс разработки включает 5 этапов:

  1. Анализ требований к программе.

  2. Проектирование.

  3. Кодирование.

  4. Тестирование.

  5. Документирование.

Все 5 этапов тесно связаны между собой, и их реализация напрямую зависит от выбранной методологии программирования.

2. Методология объектно-ориентированного программирования.

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

  1. Значительно возросли размеры и сложность программ.

  2. Повысились требования к надежности программ.

  3. Повысились требования к интерфейсу с пользователем.

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

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

В процедурном программировании данные и подпрограммы формально не связаны. В ООП данная связь выходит на первое место.

C++ C# MC

Java Delphi

Obi Basic

ООП лидирует в части прикладного ПО, в части системного ПО остается лидером процедурные языки, в 1-ю очередь - язык С.

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

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

Иерархия строится следующим образом: в качестве наиболее общего понятия берется понятие, имеющее наиболее больший объем и наименьшее содержание. Это самый высокий уровень абстракции. Затем общее понятие конкретизируется некоторым образом, тем самым уменьшается его объем и увеличивается содержание.

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

Основные принципы ООП:

  1. Наследование.

  2. Инкапсуляция.

  3. Полиморфизм.

1. Наследование - принцип, в соответствии с которым знание о наиболее общей категории разрешается применять для более узкой категории. Наследование тесно связано с иерархией классов. Иерархия определяет какие классы следует считать абстрактными по отношению к другим классам. (абстрактные – общие или родительские). Если общий или родительский класс (предок) обладает фиксированным набором свойств и поведением, то производный от него класс (потомок или дочерний класс) должен содержать тот же набор свойств и подобные поведения + дополнительные свойства и поведение, которые будут характеризовать уникальность полученного класса. В этом случае говорят, что потомок наследовал от предка свойства.

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

Инкапсуляция ведет свое происхождение от деления модулей на 2 части:

    1. интерфейс

    2. реализация

В интерфейсной секции описываются все процедуры функций, которые доступны за пределами данного модуля, в секции реализации содержится программный код.

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