Замещенные методы



Замещенные методы

Замещение методов предполагает передачу и изменение методов от компонента (класса) предка компоненту (классу) наследнику. Как мы уже отметили, только виртуальные или динамические методы могут быть замещенными. Рассмотрим пример:

type TComponentChild = class (TComponentParent) procedure MyProcVirtual; override; procedure MyProcDynamic; override; end;

Применение служебного слова override после названия метода позволяет заместить оригинал метода компонента предка методом компонента наследника. При этом замещение происходит непосредственно в таблице виртуальных методов (или таблице динамических методов). При использовании служебных слов virtual или dynamic вместо override произойдет создание нового метода вместо замещения старого.

Замещение методов не работает со статическими методами — при замещении статического метода новым произойдет простая замена метода родителя в потомке.

Назад
Содержание
Вперед


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