в Delphi возможности установки свойств
оказался необходимым при введении в Delphi возможности установки свойств и поведения компонент еще на этапе конструирования форм и самого приложения. Именно published-объявления доступны через Object Inspector, будь это ссылки на свойства или обработчики событий.
Следует отметить тот факт, что, при порождении нового класса, возможен перенос объявлений из одного раздела в другой, с единственным ограничением - если вы производите скрытие объявления за счет его переноса в раздел private
- в дальнейшем его "вытаскивание" у наследника в более доступный раздел в другом модуле будет уже невозможен. Такое ограничение, к счастью, не распространяется на динамические методы-обработчики сообщений Windows.
Учитывая, что наследование
представляет собой один из краеугольных камней объектной идеологии, очевидной проблемой реализации объектной ориентированности языка является проблема диспетчеризации вызовов методов объектов.
Методы объектов Object Pascal могут иметь любой из трех типов: статический, виртуальный или динамический.
Так как статические и виртуальные методы не претерпели принципиальных изменений, по сравнению с Borland Pascal 7.0, остановимся на новом по реализации типе - динамическом (который, вообще говоря, присутствовал в неявном форме в библиотеке OWL).
Динамические (dynamic) методы, по возможностям наследования и перекрытия, аналогичны виртуальным, но в отличие от последних не имеют входов в таблицу VMT. Такой подход позволяет снизить расход памяти при большом количестве этих методов и самих классов.
В отличие от виртуальных методов и самой идеологии VMT, таблица динамических методов (DMT)
содержит входы только для методов, объявленных или перекрытых для данного класса. На каждый динамический метод приходится только одна ссылка, представленная так называемым "индексом", по которому и происходит поиск метода для вызова (базовая информация по обработке динамических методов содержится в модуле x:\delphi\source\rtl\sys\dmth.asm). C точки зрения синтаксиса, перекрытие динамических и виртуальных методов производится одинаково - с использованием ключевого слова override. Исключение составляют обработчики Windows-сообщений wm_Xxx.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий