Borland Pascal поддерживает дополнительные методы с поздним
связыванием, которые называются динамическими методами. Динами-
ческие методы отличаются от виртуальных только характером их дис-
петчеризации на этапе выполнения. Во всех других отношениях дина-
мические методы считаются эквивалентными виртуальным.
Описание динамического метода эквивалентно описанию вирту-
ального метода, но описание динамического метода должно включать
в себя индекс динамического метода, который указывается непос-
редственно за ключевым словом virtual. Индекс динамического мето-
да должен быть целочисленной константой в диапазоне от 1 до
656535 и должен быть уникальным среди индексов других динамичес-
ких методов, содержащихся в объектном типе или его предках. Нап-
ример:
procedure FileOpen(var Msg: TMessage); virtual 100;
Переопределение динамического метода должно соответствовать
порядку, типа и именам параметров и точно соответствовать типу
результата функции порождающего метода. Переопределение также
должно включать в себя директиву virtual, за которой следует тот
же индекс динамического метода, который был задан в объектном ти-
пе предка.
Примечание: Подробнее о динамических методах и о раз-
нице в диспетчеризации динамических и виртуальных методов
рассказывается в Главе 22.