Виртуальные методы

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

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

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

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

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

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



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий