flash as3.0 as用法
如代码varbtncls:Class=getDefinitionByName("mx.controls.Button")asClass;varmyBtn:Object=n...
如代码 var btncls:Class = getDefinitionByName("mx.controls.Button") as Class ;
var myBtn:Object = new btncls() ;
myBtn.label = "我是通过名字获得类实例声明出来的BTN" ;
this.addChild( myBtn as DisplayObject ) ;
其中as class不知什么意思 展开
var myBtn:Object = new btncls() ;
myBtn.label = "我是通过名字获得类实例声明出来的BTN" ;
this.addChild( myBtn as DisplayObject ) ;
其中as class不知什么意思 展开
展开全部
as可以理解为转换为
如as Class 转换成Class类
myBtn as DisplayObject理解为myBtn 转换成DisplayObject类
或将as理解为“作为”
如as Class 作为Class类
myBtn as DisplayObject理解为myBtn 作为DisplayObject类
注意了,不是所有的类之间都够转换的。
PS:以上是非专业的解说
如as Class 转换成Class类
myBtn as DisplayObject理解为myBtn 转换成DisplayObject类
或将as理解为“作为”
如as Class 作为Class类
myBtn as DisplayObject理解为myBtn 作为DisplayObject类
注意了,不是所有的类之间都够转换的。
PS:以上是非专业的解说
更多追问追答
追问
getDefinitionByName用法通过Name来获得该名称所对应的类对象,意思就是说通过一个类的名称能够获取到该类对象,从而通过该类对象声明一个该类的实例对象。
如果var btncls:Class = getDefinitionByName("mx.controls.Button") as Class ;中 getDefinitionByName("mx.controls.Button") 的类型不是class,那么是什么;如果是,为何又要转换为class。何况变量btncls已经定义class类型,后面的as class有必要吗?
追答
Class是个通类,而你用getDefinitionByName得到的类不一定是通类哦。as Class不是必要的哦。为了保证才会加的。如果不加as Class的话,则前面的var btncls:Class 也不要Class了,原因是因为=右边的未必是Class而=左边的已经指定为Class了,即是说必定是Class了,=是要求两边的类型相等才能赋值的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
名片
2024-10-28 广告
2024-10-28 广告
Altair HyperWorks是一套功能强大的集成化CAE(计算机辅助工程)软件平台,由Altair公司开发。它涵盖了结构分析、流体动力学、优化、多体动力学、电磁场仿真等多个领域,提供了丰富的仿真工具和优化算法。HyperWorks以其...
点击进入详情页
本回答由名片提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |