delphi的类方法有什么好处
delphi的类方法没有用过,只知道它不用创建对象,直接用类调用就可以了。它的优点不会就只有这一点吧。什么情况下用类方法最好,其它方式实现都会有点麻烦。谢谢
[解决办法]
一堆公共函数,属于同一类型的,可以封装成类函数
[解决办法]
一般方法只能由实例对象来调用,类方法既可以通过实例对象的引用来调用,也可以通过类引用来调用。
[解决办法]
一些静态方法,属性等可以放到类级别上,不需要创建实例,编译时就已经分配空间了
一些通用的,不要的封装以及保护的方法可以做出类方法
[解决办法]
常见的有两种:
1. 工具类
比如:
TMath = class
class function Min(const collection: array of Integer): Integer;
class function Max(const collection: array of Integer): Integer;
class function Sum(const collection: array of Integer): Integer;
//...
end;
这种就是把相关的功能封装在一起,在.NET里面用的比较多。在Delphi里面一般还是习惯直接用函数。
2. 类型相关
即某行为和具体的类相关。比如有个产品的继承层次
TProduct
<- TMouse
<- TKeyboard
TProduct中可以定义一个虚拟的类方法,
class function GetProductType: TProductType; virtual; abstract;
各个子类(TMouse, TKeyboard)可以覆盖这个方法返回不同的类型。
你可以再看看TObject的代码,体会一下。里面既有实例成员,也有类方法。