Руководство по языку B.Pascal 7

       

Динамические методы


Borland Pascal поддерживает дополнительные методы с поздним связыванием, которые называются динамическими методами. Динами- ческие методы отличаются от виртуальных только характером их дис- петчеризации на этапе выполнения. Во всех других отношениях дина- мические методы считаются эквивалентными виртуальным.

Описание динамического метода эквивалентно описанию вирту- ального метода, но описание динамического метода должно включать в себя индекс динамического метода, который указывается непос- редственно за ключевым словом virtual. Индекс динамического мето- да должен быть целочисленной константой в диапазоне от 1 до 656535 и должен быть уникальным среди индексов других динамичес- ких методов, содержащихся в объектном типе или его предках. Нап- ример:

procedure FileOpen(var Msg: TMessage); virtual 100;

Переопределение динамического метода должно соответствовать порядку, типа и именам параметров и точно соответствовать типу результата функции порождающего метода. Переопределение также должно включать в себя директиву virtual, за которой следует тот же индекс динамического метода, который был задан в объектном ти- пе предка.

Примечание: Подробнее о динамических методах и о раз- нице в диспетчеризации динамических и виртуальных методов рассказывается в Главе 22.



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