Переменная Self

Переменная Self

Внутри каждого нестатического метода неявно определяется переменная Self, ссылающаяся на объект, вызвавший этот метод.

Например:

type
  A = class
    i: integer;
    constructor Create(i: integer);
    begin
      Self.i := i;
    end;
  end;

В момент вызова конструктора Create объект будет уже создан. Конструкция Self.i ссылается на поле i этого объекта, а не на параметр i функции Create. Фактически в любом нестатическом методе перед именем любого поля и методу этого класса неявно присутствует Self.