类字段 xe 单件模式 类方法
TBall = class(TObject)
class function TBall.F2(k:Integer): integer;
begin
end;
procedure TBall.FreeInstance;
begin
end;
class function TBall.NewInstance: TBall;
begin
end;
var
使用
var
Ball:TBall;
begin
Ball:=TBall.NewInstance;
Ball,FreeInstance;//释放类,使用该函数
end.
类字段用于描述一个类的所有成员都拥有且值均相同的信息,例如我们可将国籍声明
为一个类字段
与单元中的 var 区域相似,class var
后也存在一个区域,声明于其中的所有字段均
为类字段。此区域以 class var 开始,以下列 4
种情形的其中之一结束:
1. var 声明另一个 class var
声明
2.
包括对象方法类方法、构造或析构函数在内的任何一个例程的声明
3.
任意一个属性的声明
4. 任何一个访问权限限定词(如
public、private 等)
注意: 当 class var 区域出现了
const 声明的标识符时表示此标识符是一个类常量,并不
表示 class var 区域的结束。
静态类方法
静态类方法声明需在普通的类方法后加上限定词 static,如下所示:
type
T1 = class
class function F2(var s:string):integer; static;
end;
静态类方法与普通的类方法非常相似,二者的唯一区别在于:类静态方法没有引含的
self 参数,所以类静态方法不能引用任何的对象成员,但可以引用类字段和类方法。事实
上,Delphi 引入这种类型的方法完全是为了与微软的.net 框架相互兼容。就功能上而言,
普通的类方法完全可以替代静态类方法
带参数的的单件
type
implementation
{ TCSingleton }
constructor TCSingleton.Create(AOwner: TComponent);
begin
end;
constructor TCSingleton.CreateInstance(AOwner:
TComponent);
begin
end;
class function TCSingleton.Instance(AOwner: TComponent):
TCSingleton;
begin
end;
procedure TCSingleton.Class_Initialize;
begin
end;
class function TCSingleton.RefCount: Integer;
begin
end;
procedure TCSingleton.SetAgeValue(const i: Integer);
begin
end;
procedure TCSingleton.ShowAge;
begin
end;
procedure TCSingleton.FreeInstance;
begin
end;
XE 剪贴板类 单件模式
type
function Clipboard: TClipboard;//使用该方法,实现单件模式
implementation
var
function Clipboard: TClipboard;
begin
end;
destructor TClipboard.Destroy;
begin
end;
initialization
finalization
end.