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

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

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