8. Множественное наследование
«Объектно-ориентированное программирование»
доцентПриваловМ.В.
Пример:объектыграфического редактора
Примерпростойиерархии, отражающейклассы, которыепредставляют фигурыредактора:
-ABC Shape
-реализацииCircle иSquare
Аеслисоздается редактор
диаграмм? Блокис аннотацией...
Shape
Дляблоковс аннотацией пришлосьсделатьотдельный базовыйкласс
AnnotatedShape
-text : char*
+GetText() : char* +SetText(в text : const char*)
AnnotatedCircle AnnotatedSquare
Аесли фигуры вбиблиотеке?
Недостаток.
Приходитсядублировать функциональностьклассов
Circle и Square, хотямы лишьдобавляемтекст
Circle Square
AnnotatedShape
-text : char*
+GetText() : char* +SetText(в text : const char*)
AnnotatedCircle AnnotatedSquare