Классы инкапсулируют (т.е. включают в себя) поля, методы и свойства; это их первая черта. Следующая не менее важная черта классов — способность наследоватьполя, методы и свойства других классов.
Класс, который наследует атрибуты другого класса, называется порожденным классом или потомком. Соответственно класс, от которого происходит наследование, выступает в роли базового, или предка.
Чтобы пояснить сущность наследования обратимся к примеру. Раньше мы описывали классы Tfigure (с добавлением свойства Visible), Tpolygon, Tellipse.
TYPE TCoordinates=record X,Y:Integer; end; Tfigure = classprivateFcolor:TColor;Coords:TCoordinates; ProtectedProcedure setColor(c:TColor); virtual;Procedure Draw; virtual; abstract;Procedure Hide; virtual; abstract;Procedure Move(NewX,NewY:Integer);Property Color: TColor read Fcolor write setcolor;End; |
Рисунок дерева классов.
Очень важно, что в отношениях наследования любой класс может иметь только одного непосредственного предка и сколь угодно много потомков. Поэтому все связанные отношением наследования классы образуют иерархию. Примером иерархии классов является библиотека VCL; с ее помощью в среде Delphi обеспечивается разработка GUI-приложений.