AS3动态获得类名及类的方法

获得某个实例对象的类:

实例名["constructor"];

实例名.constructor;

获得某个实例对象的类名:

getQualifiedClassName (对象实例名)

进一步解释如下

getQualifiedClassName (value:*)

参数value手册上说:可以将任何 ActionScript 值传递给此方法,包括所有可用的 ActionScript 类型、对象实例、原始类型(如 uint)和类对象。示例如下:

trace(getQualifiedClassName(“abc”));   //输出 String

trace(getQualifiedClassName(1));     //输出 int

trace(getQualifiedClassName(int));     //输出 int
trace(getQualifiedClassName(Sprite)); //输出 flash.display::Sprite
trace(getQualifiedClassName(自定义的类));//输出 带包路径的自定义类,类似上句输出,如果是在根包,或fla的库里定义的类,则因为在根路径则直接输出自定义类名,类似ActionScript的原始类型
trace(getQualifiedClassName(对象实例名));//参数可以是任何实例名,包括自定义类的实例,输出同上
trace(getQualifiedClassName(方法或函数名));//输出类似Function-20,builtin.as$0::MethodClosure

根据类名获得类:

getDefinitionByName(完全限定类名称的字符串表达式);

注意,这里的类名称需要有包路径的限定,如”flash.display.Sprite”,也可以这样写”flash.display::Sprite”,自定义的类也一样,当然如果自定义的类在根包,或是在fla的库里定义的类,或者是ActionScript的原始类型,则可以直接写类名字符串。

用得到的类实例化对象:

一般中间要用一个无类型变量传递类,进行实例化;

如:

var i=0;

var c:*=getDefinitionByName(“MyClass”+i);

var myClass:*=new c();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值