类方法,类中类,请大家进来探讨(100分)

  • 主题发起人 主题发起人 kevincsg
  • 开始时间 开始时间
K

kevincsg

Unregistered / Unconfirmed
GUEST, unregistred user!
1.类中类
例TObject是基类,
TABC=class of TObject //TABC算什么,我看书上说TABC是一个指向TObject的指针,请大家指点
2.类方法
type
op=class
class procedure test1

procedure test2
end

我知道test1可以直接调用,不用创建对象实例,test2就不用多说了吧,请问什么时候该用类方法,它相对test2有什么优势,请大家指点
 
类方法总是在访问和控制所有类对象的共同特性和集中管理对象这一个层次上使用的。
如:
a := TA.create
这是个类方法
a.free
这是个对象方法
 
比如我要自己创建一个类,写方法时,什么该用类方法,什么用对象方法

 
可以这样讲:
1. 类方法不需要创建类实例,就可调用,因此它不能使用self属性 (类似C++的this指针)。
2. 对象方法需要创建类实例,才能调用,它可以使用self属性 。
如果方法:
1.和实例无关,和类定义也无关,请使用普通函数。
2.和实例无关,但和类定义相关,请使用类方法。
3.和实例相关,请使用对象方法。

 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=726576
 
类是高一层次的抽象,写给类的方法当然是所有对象公用的。有些时候所有对象都有一个
方法,但各对象实现该方法的过程不一样,此时一般定义虚过程。详细资料可以看看书
 
思考中、、、
 
Try more...
 
多人接受答案了。
 
后退
顶部