M MayRoy Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-29 #1 那位大虾给详细解释一下 Self 变量的情况。它出现在窗体中是代表窗体,出现在其它类的过程或者函数中呢?
M MayRoy Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-29 #2 那位大虾给详细解释一下 Self 变量的情况。它出现在窗体中是代表窗体,出现在其它类的过程或者函数中呢?
D dos1234 Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-29 #3 Self是指所编的程序范围是在哪一个类中,Delphi中大都在窗体范围内编程,因此,self即指窗体,如果在编写一个类或是一个组件,则self指该类或组件。我们在函数或过程的声明中可看出self是代表哪个组件,即self代表'.'号之前的组件,如在第一个例子中,self代表Tform1。 另外应注意,self只能用在类方法中,而不能用在别的过程或函数中,如下例用法是错的: Function a1(B:Integer):Integer Begin …… Button:=tbutton.create(self);…… End;
Self是指所编的程序范围是在哪一个类中,Delphi中大都在窗体范围内编程,因此,self即指窗体,如果在编写一个类或是一个组件,则self指该类或组件。我们在函数或过程的声明中可看出self是代表哪个组件,即self代表'.'号之前的组件,如在第一个例子中,self代表Tform1。 另外应注意,self只能用在类方法中,而不能用在别的过程或函数中,如下例用法是错的: Function a1(B:Integer):Integer Begin …… Button:=tbutton.create(self);…… End;
M MayRoy Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-30 #4 To: dos1234 那么就是在开发新组件的时候,它指的是那个新的组件。 在类方法里,它指的就是自己所在的类。 这种理解对吗?
L luckysw Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-30 #6 简单的说,就是指当前所在的类. 在窗体的模块里,指的就是窗体. 在一个类里用,指的就是那个类.
D daqun Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-30 #7 相当于C++和java中的this. 不管是不是组件,self表示当前模块所在的类的实例的指针!
M MayRoy Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-01 #8 在类方法里,它指的就是自己所在的类,而不是类实例吧。
W wr960204 Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-01 #9 在方法里面Self是指当前实例,类方法(对应C++的静态方法)指当前类