Наследование
Класс может быть унаследован от другого класса. Класс, от которого наследуют, называют базовым классом (надклассом, предком), а класс, который наследуется, называется производным классом (подклассом, потомком). При наследовании все поля, методы и свойства базового класса переходят в производный класс, кроме этого, могут быть добавлены новые поля, методы и свойства и переопределены (замещены) старые методы. Конструкторы наследуются по особым правилам, которые рассматриваются здесь.
При описании класса его базовый класс указывается в скобках после слова
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
может быть указано ключевое слово sealed
– в этом случае от
класса запрещено наследовать.