编 编程菜菜鸟 Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-01 #1 [8)]小弟一直不清楚as的用法,请各位大侠指点迷津,万万分感谢!
编 编程菜菜鸟 Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-01 #2 [blue]对不起,我还是不太明白。能否把例子写的详细些。谢谢[/blue]![?]
P Pan Ying Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-01 #3 as 类似于强制转换,通常将父类转化位子类使用。 设 tcat=class(tobject) end; twhitecat=class(tcat) procedure eat; end; 然后 var acat:tcat; acat:=twhitecat.create; 要调用eat函数就要使用as (acat as twhitecat).eat
as 类似于强制转换,通常将父类转化位子类使用。 设 tcat=class(tobject) end; twhitecat=class(tcat) procedure eat; end; 然后 var acat:tcat; acat:=twhitecat.create; 要调用eat函数就要使用as (acat as twhitecat).eat
S snappy Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-01 #4 (Send as TButton).caption:='aaaa'; 意思是让Delphi把这个Send同TButton一样处理! 我也只会用,如果你叫我说,我还真说不出个什么所以然来!! 这样跟你说吧: AS和IS是与Delphi类有关的两个操作符。 AS操作符是将一个类实例转换为另一个类型的类,如下面表达式: Sender as Tbutton 其值是一个TButton类型的类实例,而其域以及虚函数的调用取决于Sender变量。
(Send as TButton).caption:='aaaa'; 意思是让Delphi把这个Send同TButton一样处理! 我也只会用,如果你叫我说,我还真说不出个什么所以然来!! 这样跟你说吧: AS和IS是与Delphi类有关的两个操作符。 AS操作符是将一个类实例转换为另一个类型的类,如下面表达式: Sender as Tbutton 其值是一个TButton类型的类实例,而其域以及虚函数的调用取决于Sender变量。
S snappy Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-01 #5 比如你在一个Form中找指到的某样控件,然后把它的一个属性更改了就可以用这个了。 下面例子比如你想更改Form下所有按钮的Enabled属性改为False var n:integer; begin for n:=0 to self.ComponentCount-1 do begin if self.Components[n] is TButton then //判断Components[n]是否是TButton的实例 (self.Components[n] as TButton).Enabled:=false; end; end;
比如你在一个Form中找指到的某样控件,然后把它的一个属性更改了就可以用这个了。 下面例子比如你想更改Form下所有按钮的Enabled属性改为False var n:integer; begin for n:=0 to self.ComponentCount-1 do begin if self.Components[n] is TButton then //判断Components[n]是否是TButton的实例 (self.Components[n] as TButton).Enabled:=false; end; end;
M micony Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-01 #6 Pan Ying说的已经很清楚了,AS就是用来将父类强制转化成子类,以便父类变量能用子类中的方法和属性等 看到snappy的例子了吗?那是个很经典,其实那个Sender就是TObject类型的,也就是TButton的父类,TObject 类是没有caption属性的,所以要强制转换成TButton了
Pan Ying说的已经很清楚了,AS就是用来将父类强制转化成子类,以便父类变量能用子类中的方法和属性等 看到snappy的例子了吗?那是个很经典,其实那个Sender就是TObject类型的,也就是TButton的父类,TObject 类是没有caption属性的,所以要强制转换成TButton了