Четвертый BORLAND С++ и его окружение

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


Под множественным наследованием понимается способность наследования свойств и поведения не от одного базового класса, а от нескольких. Такое наследование легко проследить по классификации языков

программирования. У каждого из языков, как правило несколько предков.

Так язык программирования С++ является потомком Си и Симулы, язык Ада

потомком целого спектра языков и так далее.

Си Симула

^

< >

Насле- Порождение

дование классов

С++

v

Как используется наследование в реальных программах? На примере

библиотеки Turbo Vision попробуем проследить его использование в иерархии классов TObject и TView. Внимательное ее изучение будет вам



чрезвычайно полезно. Так, вы узнаете, что класс TDialog (диалог) является наследником класса TWindow (окно), который, в свою очередь,

является наследником класса TGroup (группа), а последний - класса

TView (отображаемый объект). Имеется несколько примеров множественного наследования в иерархии классов Turbo Vision. Вот один из них:

TProgram получается из TProgInit и TGroup.

Рисунок: иерархия классов Turbo Vision.

opstream

TObject TStreamable

^ ^

ipstream

TView

^

TGroup

^ ^ ^

TDeskInit

^

TWindowInit

^

TProgInit TDeskTop

^

>TWindow< THistInit<

TProgram THistoryWindow

^

TApplication TDialog

Примечание: по установившейся практике стрелки показывают

от порожденного класса на базовый.

Выбрав любой из классов, вы можете найти в его определении

унаследованные и новые свойства.



Содержание раздела