关于as的用法?
有如下代码:
var
my_button:Tbutton;
my_object:Tobject;
begin
(my_button as Tobject);
my_object:=(my_button as Tobject);
end;
我想问的是:
(my_button as Tobject)与my_object:=(my_button as Tobject)有何区别.
根据书上讲:(my_button as Tobject)应该是返回值应该是my_button的一个引用,类型为Tobject;可是(my_button as Tobject)为什么能够访问Tbutton类的成员;
如可以写成这样:(my_button as Tobject).visiable:=true这是什么意思啊!
请高手给详细讲讲!谢谢!
[解决办法]
my_button as Tobject).visiable:=true
汗-_#!
AS就是类的强制类型转换,这样理解就是了!
[解决办法]
强制转换,告诉编译器,前面的对象当做后面的类型使用。这里程序员要小心,不要使用错误的类型,否则会出错,当然可以先用 IS 做一下判断。
IS的用法:检查前面的对象是否为后面的类型。
[解决办法]
猴子是动物,动物不是猴子.
[解决办法]
我想请教一个相关问题:
xxx as yyy和yyy(xxx)是不是完全等价的呢?