Dan*_*rić 11 delphi variables class
我已经将类变量添加到深层次结构的基类中.它是一个整数,用于计算每个类类型创建的实例数.但我遇到了一个问题.
举个例子:
TBaseClass = class
private
class var fCreated: integer;
public
class function NewInstance: TObject; override;
end;
TDescendant = class(TBaseClass)
end;
...
class function TBaseClass.NewInstance: TObject;
begin
result := inherited NewInstance;
inc(fCreated);
end;
Run Code Online (Sandbox Code Playgroud)
我假设我可以使用类var来存储每个类创建的实例数,但似乎并非如此.
检查TBaseClass.fCreated返回相同的值TDescendant.fCreated,通过检查器更改一个更改另一个,因此它的行为就好像fCreated是一个全局变量.
我期望fCreated按班级类型进行维护,这不是重点吗?我错过了什么?