Расширяемость объекта
Важным замечанием, касающимся модулей типа WORKERS.PAS, яв- ляется то, что типы объектов и методы, определенные в модуле, мо- гут поставляться пользователю в форме .TPU, .TPW или .TPP т.е. в форме, способной к непосредственной компоновке, без исходного ко- да. (Нужно просмотреть только листинг интерфейсной части модуля.) Используя полиморфические объекты и виртуальные методы, пользова- тель файла .TPU, .TPW или .TPP сможет добавлять характеристики для приспособления модуля к своим нуждам.
Новое понятие о добавлении функциональных характеристик в программу без предоставления ее исходного кода называется способ- ностью к расширению. Способность к расширению является естествен- ным следствием наследования: вы наследуете все, чем обладают по- рождающие типы, а затем добавляете новые нужные вам возможности. Позднее связывание позволяет, чтобы новое связывалось со старым во время выполнения программы, благодаря чему расширение сущест- вующего кода выглядит "бесшовным" и стоит вам в части выполнения не более, чем быстрое путешествие по таблице виртуального метода.