Главная » Delphi » Delphi 2006 – Поля класса

0

Поля класса — это его элементы, к которым может быть организован доступ независимо от наличия физической ссылки на реально существующий объект (экземпляр класса). Для этого внутри описания класса создается так называемый var-блок, определяющий подобные поля класса. Такой блок начинается комбинацией ключевых слов class var, и считается синтаксически завершенным, когда в дальнейшем встречается другой var-блок, описание процедуры или функции, свойства, конструктора, деструктора или любого спецификатора видимости.

type Tx = class

class var

х: integer;

end;

Здесь внутри типа tx мы описали поле класса под названием х. К нему в коде можно обращаться, например, так.

Tx.X := 1;

При этом идентификатор-префикс tx выступает здесь как название типа (класса), а не как реальный объект-экземпляр класса.

Схожий подход допустим и при создании статических методов класса, которые также могут быть вызваны, если экземпляр класса явно не создавался. Для этого в начале метода ставится ключевое слово class, а после описания метода указывается ключевое слово static.

type Тх = class

class var

x: integer;

class function ab: Integer; static; end;

// реализация:

class function Tx.ab: Integer; begin

Result := 1; end;

//

Tx.x := Tx.ab;

При этом в реализации такого статического метода обращение к иестати- ческим элементам своего класса не допускается, так как доступа к реальному экземпляру класса (Self) у них нет.

Бобровский С. И. Технологии Delphi 2006. Новые возможности. — СПб.: Питер, 2006. — 288 е.: ил.

По теме:

  • Комментарии