class function 和 function 区别?

解决方案 »

  1.   

    class function类似于c++中的静态方法,不需要建立类的实例就可以调用,如TYourClass.YourMethod.
    function就是类成员方法,必须建立该类的实例才可以调用。
      

  2.   

    class function 不需要实例化就可以使用
      

  3.   

    不晚,接分楼下继续说明关于class function访问成员变量的细节
      

  4.   

    type
      TTest = class
       public
          class function sayHello :String;
          function saybye:String;
       end;TTest.sayHello ;  这样是可以的,因为这是类成员,而saybye就必须要实例化才可以用
      

  5.   

    接9楼。
    但是Class function中不能访问类的成员。
    因为,类还没有Create
    类似于我们在单独的一个Unit中写的一些辅助逻辑运行的一些普通function
      

  6.   

    class function 不需要实例化就可以使用
      

  7.   

    Class Function类似C++的静态函数.不需要实例化就可以使用.
    不过和C++的静态函数还是有区别的.
    下面两点是C++不具备的.
    类函数可以使用Self,类函数中的Self是类本身.而不是普通函数中的Self是当前实例.
    类函数可以是虚函数,派生类可以Override.