Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOP / books / Osnovi objektno-orientirovannogo programmirovaniya.pdf
Скачиваний:
63
Добавлен:
03.03.2016
Размер:
9.04 Mб
Скачать

Ключевые концепции

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

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

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

*Конфликты имен при множественном наследовании должны устраняться переименованием.

*Переименование позволяет ввести в классе контекстно-адаптированную терминологию.

*Компоненты следует отделять от их имен. Один и тот же компонент в разных классах может быть известен под разными именами. Класс определяет отображение имен в компоненты.

*Дублируемое наследование - мощная техника - возникает как результат множественного наследования, при котором один класс становится потомком другого несколькими способами.

*При дублируемом наследовании компонент общего предка становится одним компонентом, если он наследуется под одним именем, и несколькими независимыми компонентами в противном случае.

*Конкурирующие версии общего предка при динамическом связывании должна устраняться предложением select.

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

*В ОО-среде семантическая перегрузка, поддерживаемая динамическим связыванием, более полезна, чем синтаксическая перегрузка.

Библиографические замечания

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

(Michael Schweitzer), механизм выбораДжоном Поттером (John Potter).

Пример с выпадающим меню взят из книги [M 1988c].

Соседние файлы в папке books