Классы и объекты в Object Pascal. Семенов Н.М. - 15 стр.

UptoLike

Составители: 

10: City : String [20];
11: State : String [2];
12: Zip : String [10];
13: LastOrder : String [10];
14: end;
15:
16: implementation
17: end.
___________________________________________________________________________
Листинг 1 показывает первый шаг в создании объекта клиента: определение
атрибутов данных и их формата в экземпляре клиента. Поля данных и их порядок
совпадают с прошлым примером с записью. В этом месте отличия между двумя
методами минимальны, и преимущества объектно - ориентированного подхода ещё не
очевидны.
Следует использовать тип - класс в качестве основного при группировании
связанных атрибутов данных для представления существующих объектов в бизнесе и
науке.
Не следует использовать тип - запись для группирования связанных атрибутов в
логически целостные элементы - объекты являются более мощными средствами.
2.6 Объявление переменных, представляющих экземпляр класса
Простое объявление объектного типа недостаточно для присваивания значений
его полям или какого - либо использования. Например, при объявлении типа не
выделяется памяти. В отличие от случая с классами при использовании экземпляров
записи Вам просто надо ввести переменную этого типа для действительного
резервирования области памяти под экземпляр (здесь не учитывается возможность
динамического выделения памяти с помощью указателей).
Простое же объявление переменной классового типа ещё недостаточно для
резервирования памяти под объект. Объекты, в отличие от объявленных в блоке var
переменных, являются динамическими образованиями.
Подобно другим переменным и Паскале переменные класса должны быть
инициализированы перед использованием. Вы можете инициализировать переменную
представителя класса вызовом конструктора этого экземпляра.
Замечание. Переменная классового типа не является экземпляром класса -
это просто ссылка на экземпляр. Она должна быть инициализирована во время
выполнения посредством вызова конструктора.
Вспомните, что Вы можете объявить тип записи следующим образом:
type
TRecordType = record
Field1: Type1;
Field2: Type2;
Field3: Type3;