5.2 Поля

Вверх  Предыдущий  Следующий

Поля объекта походят на поля записей. Способ доступа к ним аналогичен способу обращения к полям записей: через идентификатор поля. Учитывая следующее объявление:

Type TAnObject = Object

  AField : Longint;

  Procedure AMethod;

  end;

Var AnObject : TAnObject;

следующее присвоение допустимо:

AnObject.AField := 0;

В методах к полям можно получить доступ, используя короткий идентификатор:

Procedure TAnObject.AMethod;

begin

...

AField := 0;

...

end;

Или, можно использовать идентификатор self. Идентификатор self обращается к текущему экземпляру объекта:

Procedure TAnObject.AMethod;

begin

...

Self.AField := 0;

...

end;

Нельзя получить доступ к полям, которые находятся в частных или защищенных разделах объекта, снаружи методов объектов. Если будет предпринята попытка получить к ним  доступ, то компилятор будет жаловаться на неизвестный идентификатор.

Кроме того, можно использовать оператор with с экземпляром объекта, как и с записями:

With AnObject do

begin

  Afield := 12;

  AMethod;

end;

Это как если-бы к идентификаторам Afield и Amethod (которые находятся между begin  и end) добавилось уточнение AnObject. Подробнее об этом в разделе 13.2.8 Оператор With.