- type
- TMyClass = class
- strict private
- class var ClassVar: Integer; // 定义一个类变量
- public
- class procedure ClassMethod; // 定义一个类方法
- end;
-
- implementation
-
- class procedure TMyClass.ClassMethod;
- begin
- // 在这里实现类方法的具体逻辑
- ClassVar := 5; // 为类变量赋值
- ShowMessage('ClassVar value is ' + IntToStr(ClassVar)); // 显示类变量的值
- end;
-
- end.
复制代码
要调用类方法,你可以直接使用类名.
- begin
- TMyClass.ClassMethod; // 调用类方法
- end;
复制代码
给class var 赋初值:
- type
- TMyClass = class
- public
- class var ClassVar: TObject; // 声明一个class var变量
- constructor Create;
- destructor Destroy; override;
- end;
-
- { TMyClass }
-
- constructor TMyClass.Create;
- begin
- inherited;
- if ClassVar = nil then
- ClassVar := TStringList.Create; // 示例:分配内存给class var
- end;
-
- destructor TMyClass.Destroy;
- begin
- if Assigned(ClassVar) then
- begin
- ClassVar.Free; // 示例:显式释放class var所持有的资源
- ClassVar := nil;
- end;
- inherited;
- end;
复制代码在这个例子中,TMyClass 有一个class var 变量 ClassVar,它持有一个 TObject 类型的引用。在 Create 方法中,如果 ClassVar 是 nil,则分配一个 TStringList 对象给它。在 Destroy 方法中,在释放 TMyClass 实例之前,它会释放 ClassVar 持有的资源。 请注意,这只是一个示例,实际上你应该根据你的具体需求来管理 class var 所持有资源的生命周期
|