delphi的类方法没有用过,只知道它不用创建对象,直接用类调用就可以了。它的优点不会就只有这一点吧。什么情况下用类方法最好,其它方式实现都会有点麻烦。谢谢

解决方案 »

  1.   

    请问bdmh,通用的,不要封装及保护的方法我直接写成公用函数或过程不就可以了吗?也没有必要写成类方法啊
      

  2.   

    常见的有两种: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的代码,体会一下。里面既有实例成员,也有类方法。
      

  3.   

    感谢zuobaoquan。工具类基本上能理解,相同功能放在一块。类型相关的说的有点抽象,当然需要自己去理解。感谢你的建议