Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[ППС] Экзамен - Вопросы и ответы [2012].doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
2 Мб
Скачать
☆

3. Основные понятия объектно-ориентированного подхода к проектированию программ. Понятие класса. Понятие объекта. Инкапсуляция данных и методов.

Класс является описываемой на языке терминологии (пространства имён) исходного кода моделью ещё не существующей сущности (объекта). Фактически он описывает устройство объекта, являясь своего рода чертежом. Говорят, что объект — это экземпляр класса. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области. Класс представляет набор объектов, которые обладают общей структурой и одинаковым поведением. Поведение выражается в терминах состояния объекта (изменения состояний) и в передаче сообщений.

Типы объектов:

  • Актер (действующее лицо) – объект может воздействовать на другие объекты, но сам никогда не подвергается воздействию других объектов

  • Сервер – объект может только подвергаться воздействию со стороны других объектов

  • Агент – Может выступать как в активной, так и пассивной роли

Связи объектов:

  • Связи по информационному взаимодействию (по данным)

  • Связи по управлению (вызываются методы другого объекта)

  • Связи по иерархии наследования

Отношения между классами:

  • Ассоциация - семантическая (смысловая) связь без объяснения ее реализации; фиксируются участники ассоциации, их роли в ассоциации, мощность отношения; возможны три мощности ассоциации – один-к-одному, один-ко-многим, многие-ко-многим

  • Наследование

  • Агрегация: либо физическое включение одного класса в другой (внутренний класс), либо концептуальное вхождение одного класса в другой (контейнер)

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

  • Инстанцирование - построение параметризированного класса (шаблона), который может параметризироваться другими классами, объектами или методами

  • Метакласс - это класс, экземпляры которого есть классы

Инкапсуляция — это свойство системы, позволяющее объединить данные и методы, работающие с ними в классе, и скрыть детали реализации от пользователя. Данные и методы могут иметь модификаторы public, private и protected определяющие степень доступности.

4. Основные понятия объектно-ориентированного подхода к проектированию программ. Роль наследования в ооп.

Наследование:

  • При наследовании один класс заимствует структурную или функциональную часть одного или нескольких других классов

  • Наследование основано на иерархии классов

  • Наследование упрощает выражение абстракций, делает проект более выразительным

  • Дочерние классы наследуют свойства одного или нескольких родителей

Одиночное наследование:

При одиночном наследовании один или несколько классов наследуют свойства ТОЛЬКО ОДНОГО родительского класса.

Множественное наследование:

Абстрактные классы – обязательно должны иметь наследников и не имеют экземпляров.

5. Основные понятия объектно-ориентированного подхода к проектированию программ. Свойство полиморфизма.

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

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

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

Полиморфизм:

  • Одно и то же имя может означать объекты разных ТИПОВ

  • Полиморфизм реализует адаптивное поведение класса

  • Полиморфизм реализует динамическое связывание объектов