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

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

Класс может быть унаследован от другого класса. Класс, от которого наследуют, называют базовым классом (надклассом, предком), а класс, который наследуется, называется производным классом (подклассом, потомком). При наследовании все поля, методы и свойства базового класса переходят в производный класс, кроме этого, могут быть добавлены новые поля, методы и свойства и переопределены (замещены) старые методы. Конструкторы наследуются по особым правилам, которые рассматриваются здесь.

При описании класса его базовый класс указывается в скобках после слова class.

Например:

type

BaseClass = class

procedure p;

procedure q(r: real);

end;

MyClass = class(BaseClass)

procedure p;

procedure r(i: integer);

end;

В данном примере процедура p переопределяется, а процедура r добавляется в класс MyClass.

Если не указать имя базового класса, то считается, что класс наследуется от класса Object - предка всех классов. Например, BaseClass наследуется от Object.

Переопределение методов при наследовании рассматривается здесь.

Перед словом class может быть указано ключевое слово final – в этом случае от класса запрещено наследовать.