PascalABC.NET

Инициализаторы полей

При создании объекта его поля инициализируются автоматически нулевыми значениями если они не инициализированы явно. Их инициализация может проводиться как в конструкторе, так и непосредственно при описании. Инициализация поля при описании приводит к тому, что код инициализации вставляется в начало ВСЕХ конструкторов.

Например:

type   A = class
  private

    x: integer := 1;
    y: integer;
    l := new List<integer>;
  public
    constructor Create(xx,yy: integer);
    begin
      x := xx;
      y := yy;
    end;
    constructor Create;
    begin
    end;
  end;

В данном примере код x:=1; l := new List<integer>  вставляется в начало каждого конструктора.