Sender:TObject和Self

来源:互联网 发布:js比较大小 编辑:程序博客网 时间:2024/04/30 02:12


1.Sender 多数出现在事件处理过程中,Sender表示触发该事件的对象. 每一个事件处理里面至少都有一个Sender参数。Sender的含义就是代表调用这个过程的控件. 由于Sender是TObject,TObject,是所有类的基类,所以任何对象都可以赋给Sender.
EG:  当你点击BUTTON1时,会产生一个Button1Click事件,系统会把Button1传递给Button1Click过程坐为参数 .
2.Sender的应用:如果在两个事件中处理同样的事情,那么可以利用Sender来省去重写同样的过程。例如: Procedure TForm1.TestClick(Sender:TObject);
begin
  do Same sth....;
  if Sender is TButton then
    do sth....;
  if Sender=TEdit then
    do other sth....; end;
procedure TForm1.Button2Click(Sender:TOBJect);
begin

  TestClick(Sender);
end;
procedure TForm1.EditClick(Sender:TOBJect);
begin
  TestClick(Sender);
end;

3.Self:是指该类的实例对象本身,Self是一个内建变量,是在类方法实现区使用时,参考到该类方法对应的对象实体
 即:Self变量 是该类对应的对象的别名;eg:在还没有产生该类的对象实体之前,无法预先知道引用该类的对象
名,但是在成员函数实现区,需要访问调用此方法的类对象的数据时,就可以使用Self来表示该对象的名称,因此,不管类所产生的对象的名称是什么,都可用Self来访问对象的数据

原创粉丝点击