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. |