Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lect08.pdf
Скачиваний:
7
Добавлен:
06.02.2016
Размер:
396.45 Кб
Скачать

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

«Объектно-ориентированное программирование»

доцентПриваловМ.В.

Донецк,ДонНТУ,2011

Пример:объектыграфического редактора

Shape

+Draw()

Примерпростойиерархии, отражающейклассы, которыепредставляют фигурыредактора:

-ABC Shape

-реализацииCircle иSquare

Circle

Square

Аеслисоздается редактор

диаграмм? Блокис аннотацией...

Shape

Дляблоковс аннотацией пришлосьсделатьотдельный базовыйкласс

AnnotatedShape

-text : char*

+GetText() : char* +SetText(в text : const char*)

+Draw()

Circle Square

AnnotatedCircle AnnotatedSquare

Аесли фигуры вбиблиотеке?

Недостаток.

Приходитсядублировать функциональностьклассов

Circle и Square, хотямы лишьдобавляемтекст

Shape

+Draw()

Circle Square

AnnotatedShape

-text : char*

+GetText() : char* +SetText(в text : const char*)

AnnotatedCircle AnnotatedSquare

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