Операция New предназначена для создания экземпляров класса. После New должно следовать имя базового класса и название конструктора со списком параметров. Результат операции - ссылка на вновь созданный объект.
Class TestObject: Object
_a: Integer;
Public Constructor Create(a: Integer = 0);
Begin
_a := a;
End Constructor Create;
End Class TestObject;
Sub Main;
Var
obj: TestObject;
Begin
obj := New TestObject.Create;
obj := New TestObject.Create(100);
End Sub Main;
Операция New не требуется для классов, которые предоставляют типы данных Boolean, Char, Currency, DateTime, Decimal, Double, Integer, TimeSpan, Variant, String. Переменные этих типов представляют собой не ссылки на объекты, а сами объекты. Таким образом, обыкновенное присваивание будет выглядеть:
Sub Main;
Var
a: Integer;
Begin
a := 100;
End Sub Main;
См. также: