Новые концепции ООП в Object Pascal
32 урока по Delphi
Урок 26: Новые концепции ООП в Object Pascal
Данный материал принадлежит Сергею Орлику. ?1996 Все права защищены.
В языке Object Pascal, используемом в Delphi, произошел ряд давно ожидаемых программистами изменений, по сравнению с последней версией Borland Pascal. Перечислим, основные из них, позволившие назвать объектную модель Object Pascal
новой объектной моделью:
-
изменения в синтаксисе объявления и использования объектов
-
введение функций классов
-
введение методов классов
-
изменения в организации определений и вызовов методов
-
введение раздела объявления интерфейса разработчика объектного типа - protected
-
введение раздела объявления design-time интерфеса объектного типа - published
-
введение механизмов RTTI - информации о типах на этапе выполнения программ
-
введение поддержки процедурных полей
-
введение понятия "свойства" - property
В отличие от объявления старых объектных типов, использовавшего ключевое слово object, новые объектные типы определяются с помощью слова class. Здесь уместно привести определение отношения между понятиями объекта и класса, данное Гради Бучем:
В новой объектной модели программист работает только с динамическими экземплярами классов (то есть с теми, для которых выделяется память в heap-области), в отличие от старой модели, где можно было работать как с динамическими, так и со статическими экземплярами. По этой причине изменен синтаксис обращения к полям и методам объектов. Если раньше для работы с динамическими экземпляров объектов (инициализированными с использованием обращения к конструктору в сочетании с функцией New) программист должен был использовать обращение "по адресу" ( ^
), то теперь такой доступ подразумевается автоматически. В качестве примера сравните два следующих фрагмента исходного текста:
{ Старая объектная модель }
type
PMyObject = ^TMyObject;
TMyObject = object (TObject)
MyField : PMyType;
constructor Init;
end;
...
var
MyObject : PMyObject;
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий