Self 变量 ( 积分: 50 )

  • 主题发起人 主题发起人 MayRoy
  • 开始时间 开始时间
M

MayRoy

Unregistered / Unconfirmed
GUEST, unregistred user!
那位大虾给详细解释一下 Self 变量的情况。它出现在窗体中是代表窗体,出现在其它类的过程或者函数中呢?
 
那位大虾给详细解释一下 Self 变量的情况。它出现在窗体中是代表窗体,出现在其它类的过程或者函数中呢?
 
Self是指所编的程序范围是在哪一个类中,Delphi中大都在窗体范围内编程,因此,self即指窗体,如果在编写一个类或是一个组件,则self指该类或组件。我们在函数或过程的声明中可看出self是代表哪个组件,即self代表'.'号之前的组件,如在第一个例子中,self代表Tform1。

另外应注意,self只能用在类方法中,而不能用在别的过程或函数中,如下例用法是错的:

Function a1(B:Integer):Integer

  Begin
  ……
  Button:=tbutton.create(self);……
  End;  
 
To: dos1234
那么就是在开发新组件的时候,它指的是那个新的组件。
在类方法里,它指的就是自己所在的类。

这种理解对吗?
 
出现在其它类的过程或者函数中就代表该类
 
简单的说,就是指当前所在的类.
在窗体的模块里,指的就是窗体.
在一个类里用,指的就是那个类.
 
相当于C++和java中的this.

不管是不是组件,self表示当前模块所在的类的实例的指针!
 
在类方法里,它指的就是自己所在的类,而不是类实例吧。
 
在方法里面Self是指当前实例,类方法(对应C++的静态方法)指当前类
 
多人接受答案了。
 
后退
顶部