博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(转)getDefinitionByName,getQualifiedClassName,getQualifiedSuperclassName用法
阅读量:6205 次
发布时间:2019-06-21

本文共 1553 字,大约阅读时间需要 5 分钟。

首先先告诉大家,我要讲的是flash.utils包中的

getDefinitionByName,getQualifiedClassName,getQualifiedSuperclassName
可能帮助文档写的过于专业,程序底子差的不一定能看明白,我用我理解的,通俗的讲一遍给大家听。。
1、getDefinitionByName
如果你已知这个类的类名类路径,但是你又没办法得到这个类的原型,那么可以通过该函数,将已知的类名类路径转换为类的原型,然后还可以将得到的类原型进行实例化,比如:

View Code
var Tmp = getDefinitionByName("flash.display.Sprite"); var spr = new Tmp; trace(spr is Sprite); //输出 true

通过getDefinitionByName得来的其实就是Sprite类,然后实例化,再判断spr是否为Sprite,得出的结果是true

2、getQualifiedClassName
如果你现在有个引用值,你不知道这个引用所表示的什么类,什么类路径,或许是个类不知道类名等等,想得到这个类的完整名字,那么可以使用它,比如:

View Code
var spr:Sprite = new Sprite; trace(getQualifiedClassName(spr)); trace(getQualifiedClassName(Sprite)); //两者都是输出 flash.display::Sprite

 

 

3、getQualifiedSuperclassName

这个方法就比较好玩了,是获取自己父类的类原型,比如你一系列的类是继承某个抽象类,而现在你无法得到这个抽象类,那么你可以使用该方法获得该抽象类的类原型,比如:

View Code
var spr:Sprite = new Sprite; trace(getQualifiedSuperclassName(spr)); trace(getQualifiedSuperclassName(Sprite)); //两者都是输出 flash.display::DisplayObjectContainer

 

 

其实这个三方法在日常编程很少用得到,但是了解一下并无害,而且这个三个方法,也经常出现在各大公司的面试题上,因为这几个用处不大,但是可以了解你对AS3的熟悉程度到了哪儿。

举一反三,竟然可以获得他的父类,那么抽象类的父类也可以获得拉?
请看:

1 var tmp = Sprite;  2 while(tmp != Object){  3         tmp = getDefinitionByName(getQualifiedSuperclassName(tmp));  4         trace(getQualifiedClassName(tmp));  5 }  6 /**  7 * 输出:  8 * flash.display::DisplayObjectContainer  9 * flash.display::InteractiveObject 10 * flash.display::DisplayObject 11 * flash.events::EventDispatcher 12 * Object 13 */

 

 

刨根揭底,把Sprite的长辈都挖出来了,不管父亲还是爷爷,或者爷爷的爷爷。。。

有意思吧?了解了解吧。。实质作用没多大,全当小说看吧

转载于:https://www.cnblogs.com/jason101/archive/2012/03/26/2417536.html

你可能感兴趣的文章
【洛谷 P1659】 [国家集训队]拉拉队排练(manacher)
查看>>
转:ASP.NET MVC4细嚼慢咽---(5)js css文件合并
查看>>
图像特征提取——韦伯局部描述符(WLD)
查看>>
HIVE-分桶表的详解和创建实例
查看>>
java使用POI jar包读写xls文件
查看>>
服务器运维
查看>>
CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-8CDH5安装和集群配置
查看>>
递归和非递归的区别
查看>>
20155229 实验一《Java开发环境的熟悉》实验报告
查看>>
oracle slient静默安装并配置数据库及仅安装数据库不配置数据库shell
查看>>
cannot be deleted directly via the port API: has device owner network:floatingip
查看>>
Source Insight 创建工程(linux-2.6.22.6内核源码)
查看>>
selenium+ python自动化--断言assertpy
查看>>
Python 静态方法与类方法
查看>>
大话数据结构 (程杰 著)
查看>>
java 环境变量
查看>>
nginx、Apache、IIS服务器解决 413 Request Entity Too Large问题方法汇总
查看>>
matlab GUI之自定义菜单小结
查看>>
oracle那些基本知识
查看>>
Android复制assets目录下的图片到内存
查看>>