Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
A01_Metaphor.doc
Скачиваний:
6
Добавлен:
12.11.2019
Размер:
762.37 Кб
Скачать

Контрольные вопросы

1) Сформулируйте своими словами понятие «ассоциации».

2) Сформулируйте своими словами понятие «наследование».

3) Какие средства используются в C++для описания отношения наследования?

4) Чем одиночное наследование отличается от множественного наследования?

5) Что такое одиночный полиморфизм?

6) Что такое множественный полиморфизм?

7) Сформулируйте своими словами понятие «агрегация».

8) Какие средства используются в C++для описания отношения агрегации?

9) Сформулируйте своими словами понятие «использование».

10) Какие средства используются в C++для описания отношения использования?

11) Сформулируйте своими словами понятие «инстанцирование».

12) Какие средства используются в C++для описания отношения инстанцирования?

13) Сформулируйте своими словами понятие «метакласс».

14) Какие средства используются в C++для реализации метакласса?

1.5. Взаимосвязь классов и объектов.

Классы и объекты - это отдельные, но тесно связанные понятия. В частности, каждый объект является экземпляром какого-либо класса; класс может порождать любое число объектов. В большинстве практических случаев классы статичны, то есть все их особенности и содержание определены в процессе компиляции программы. Из этого следует, что любой созданный объект относится к строго фиксированному классу. Сами объекты, напротив, в процессе выполнения программы создаются и уничтожаются.

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

Объекты же этих классов, напротив, динамичны. Набор маршрутов полетов сменяется не очень часто. Существенно быстрее изменяется множество самолетов, находящихся в полете. Частота, с которой самолеты занимают и покидают воздушные коридоры, еще выше.

Контрольные вопросы

1) В чем заключается принципиальное отличие класса и объекта.

В заключение приведем некоторые основополагающие тезисы.

  • Объект характеризуется свойством, состоянием, поведением и идентичностью.

  • Структура и поведение одинаковых объектов описываются в общем для них классе.

  • Свойства объекта определяют его статические свойства.

  • Состояние объекта определяет его динамические свойства.

  • Поведение объекта характеризуется изменением его состояния в процессе взаимодействия (посредством передачи сообщений) с другими объектами.

  • Идентичность объекта - это его отличия от всех других объектов.

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

  • Множество объектов с одинаковой структурой и поведением является классом.

  • Шесть типов иерархий классов включают: ассоциирование, наследование, агрегация, использование, инстанцирование и метаклассирование.

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

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

  • Качество абстракций измеряется их зацеплением, связностью, достаточностью, полнотой и примитивностью.

Задачи

В приведенных заданиях необходимо:

1. Выделить классы.

2. Определить отношения между классами.

3. Выделить объекты.

4. Определить отношения между объектами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]