Шаг 141.
Виртуальные методы

    На этом шаге мы кратко охарактеризуем виртуальные методы.

    Синтаксически описание виртуальных методов отличается наличием директивы virtual, которая указывается в конце заголовка методов при объявлении классов. При описании реализации метода эта директива не ставится.

    В классах-потомках можно переопределить (override) наследуемый родительский виртуальный метод. Для этого, объявляемый метод обязан иметь заголовок, идентичный заголовку наследуемого метода, включая число параметров и их типы. Кроме того, у него на месте директивы virtual должна стоять директива override.


    Единственно корректным способом переопределения виртуальных и динамических методов в Object Pascal, в отличие от Borland Pascal, является использование директивы override. В противном случае наследуемый метод будет не переопределен, а подавлен.

    Конкретная реализация переопределенного метода (класса-предка или класса-потомка), который нужно активизировать в момент вызова, определяется благодаря наличию информации о типах классов и объектов времени выполнения (run-time type information).

    На следующем шаге мы рассмотрим динамические методы.




Предыдущий шаг Содержание Следующий шаг