类方法是作用在类而不是对象上面的方法(不同于构造函数)。类方法的定义必须以关键字class 开始
类方法用于创建无需创建类的实例就能够访问的方法。类方法可用于分离独立于任何对象标识的行为:无论对象发生什么更改,这些函数都不会随之变化。
形式为:
Type ClassName =Class
Class Function FuncName();
Begin
//方法实现
End;
End
在类方法的定义部分,Self 表示调用方法的类(它或许是定义方法的类的一个派生类)。由于类方法与实例对象无关,所以,你不能使用Self 访问字段、属性和实例的方法,但能调用构造函数和其它类方法。
类方法可以通过类引用来调用
Class(类名).类方法
示例:
上例中,可以
Class(ClassName).FuncName();
注:
一个类方法也可以被当作实例方法使用,使用方法和实例方法完全一样。方法的内部也可以调用实例的字段、属性和方法,如果方法调用了这样的数据或为,就不能当作类方法使用了,否则的话会出错。
在Tsl中,字段和属性不支持这种静态的属性方法.
静态的字段可以通过全局变量实现。