我看到一个sample中这样定义一个函数:
class function GetValue(IniName: TComboIniName): Boolean;
该函数是一个Class中的public函数,不知道这样定义是什么意思?
还望给位多多指教,谢谢!
class function GetValue(IniName: TComboIniName): Boolean;
该函数是一个Class中的public函数,不知道这样定义是什么意思?
还望给位多多指教,谢谢!
類方法(Class Method): 程序代碼中不需要這個類的對象實體來調用,可直接使用. 看看以下代碼:
var
Obj:TObject;
begin
ListBox1.Items.Add(TObject.ClassName); // 直接調用
Obj := TObject.Create;
try
ListBox1.Items.Add(TObject.ClassName); // 通過類的實體來調用
Finally
Obj.Free;
end;
end;
类方法与普通方法表现上最大的不同是:类方法可以直接通过类调用,而普通方法必须有对象实例!
如
TA = class
public
class procedure Fun1;
procedure Fun2;
end;则
(1) TA.Fun1;
正确
(2) var
a: TA;
begin
a := TA.Create;
a.Fun1
end;
正确
(3) TA.Fun2
错误
(4) var
a: TA;
begin
a := TA.Create;
a.Fun2;
end;
正确