Delphi 中有没有一种方法可以在声明时初始化对象的成员变量?

nr7wwzry  于 2023-08-04  发布在  其他
关注(0)|答案(2)|浏览(100)

我理解类的成员变量是在构造函数内部初始化的,如下所示:

type
  TMyClass = class
  private
    FMyVariable: Integer;
  public
    constructor Create;
  end;

constructor TMyClass.Create;
begin
  inherited;
  FMyVariable := 5;
end;

字符串
然而,我很想知道是否有一种方法可以直接在成员变量的声明中初始化这些成员变量,类似于:

type
  TMyClass = class
  private
    FMyVariable: Integer = 5; // Is this possible in Delphi?
  public
    constructor Create;
  end;


任何见解,解释,或最佳实践将不胜感激!

wlp8pajw

wlp8pajw1#

不,这在 Delphi 是不可能的。类的唯一成员类型,可以在声明中初始化,是常量:

type
  TMyClass = class
  public
    const
      MY_PI = 3.00;
  end;

字符串
其他所有内容都会自动初始化为0、NULL、''或任何零的等价物,对于这个特定类型,然后可以在构造函数中更改。

inkz8wg9

inkz8wg92#

我很想知道是否有一种方法可以直接在成员变量的声明中初始化这些成员变量。
没有办法这样做。

相关问题