小例子,小问题,在线等回答!(5分)

  • 主题发起人 主题发起人 cjtmh
  • 开始时间 开始时间
C

cjtmh

Unregistered / Unconfirmed
GUEST, unregistred user!
这里有一个例子
procedure TForm1.btn1Click(Sender: TObject);
begin
ShowMessage((Sender as TButton).Name);
end;
我记得说as的用法是在面向对象里,as可将左方的对象由原来所属的类,转为右方操作数那种类,左边对象的类必须是class类本身或它的子孙类,但sender是tboject类,并不是tbutton类的子类,为什么可以转型?
急在线等!
 
晕,在这里,Sender是个TButton对象呀。只不过是在用TObject类的指针在指着它,所以在引用时,通过强制转换成TButton类来访问TButton类的一个属性。
 
确实是这样的,一种是强制转换,还有一种是判断
例如:
Sender as TButton
Sender is TButton
 
接受答案了.
 

Similar threads

回复
0
查看
863
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部