32 Урока Borland Delphi

         

Новые концепции ООП в 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
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий