logo search
Лекции програм_new_последняя версия1

Классы и объекты в Object Pascal.

Определение: Классы в Object Pascal это специальные типы, которые представляют собой единство трех сущностей: полей, методов, и свойств.

Как и любой другой тип, класс служит лишь образцом для создания конкретных экземпляров реализации, которые называются объектами. Заметим, что в предшественнике языка Object Pascal – языке Turbo Pascal – объектами называли типы, имеющие много общего с классами Object Pascal. Однако, существенные усовершенствования, внесенные в объектную модель Object Pascal, заставили разработчиков языка ввести для обозначения типов объектов специальный термин – «класс». Он заимствован из языка С++. Освободившийся термин «объект» стал употребляться для обозначения конкретного экземпляра реализации класса.

Важным отличием классов от других типов является то, что объекты класса всегда распределяются в куче (динамической памяти), поэтому объект–переменная фактически представляет собой лишь указатель на динамическую область памяти. Однако в отличие от других указателей при ссылке на содержимое объекта запрещается использовать символ «^» за именем объекта.

Пример описания класса объекта:

type

TMyClass=class(TObject)

Field: Integer;

. . . . . .

end;

var

MyClass: TMyClass;

begin

. . . . . .

MyClass^.Field:=0; // Ошибка! Следует писать так:

MyClass.Field:=0;

end;