На этом шаге мы приведем краткую характеристику перечисленных методов.
В Object Pascal сохранены все три типа (статические, виртуальные, динамические) методов Borland Pascal, оперирующих полями объектов, а также добавлена новая разновидность динамических методов - методы обработки сообщений. По умолчанию все методы являются статическими.
Дадим определения двум терминам объектно-ориентированной терминологии, касающимся реализации методов.
Ранним связыванием называется процесс статического связывания методов с объектами во время компиляции.
Поздним связыванием называется процесс динамического связывания методов с объектами во время выполнения.
Раннее связывание реализовано для статических методов, а позднее - для виртуальных, динамических методов и методов обработки сообщений.
Основное различие между виртуальными и динамическими методами состоит в том, что для их реализации компилятор использует внутренние таблицы различной структуры: для виртуальных методов - ТВМ (таблицу виртуальных методов), а для динамических методов - ТДМ (таблицу динамических методов). Принцип же динамического связывания у них общий. Поэтому, практически везде, где используются виртуальные методы, можно использовать динамические, и наоборот.
В описаниях всех типов методов допускается применение зарезервированного слова inherited, которое обозначает имя непосредственного предка того класса, в котором объявлен метод, использующий inherited.
На следующем шаге мы рассмотрим статические методы.