AS3获取对象类名,getDefinitionByName,getQualifiedClassName,getQualifiedSuperclassName
首先先告诉大家,我要讲的是flash.utils包中的
getDefinitionByName,getQualifiedClassName,getQualifiedSuperclassName
可能帮助文档写的过于专业,程序底子差的不一定能看明白,我用我理解的,通俗的讲一遍给大家听。。
1、getDefinitionByName
如果你已知这个类的类名类路径,但是你又没办法得到这个类的原型,那么可以通过该函数,将已知的类名类路径转换为类的原型,然后还可以将得到的类原型进行实例化,比如:
var Tmp = getDefinitionByName("flash.display.Sprite");
var spr = new Tmp;
trace(spr is Sprite);
//输出 true
通过getDefinitionByName得来的其实就是Sprite类,然后实例化,再判断spr是否为Sprite,得出的结果是true
2、getQualifiedClassName
如果你现在有个引用值,你不知道这个引用所表示的什么类,什么类路径,或许是个类不知道类名等等,想得到这个类的完整名字,那么可以使用它,比如:
var spr:Sprite = new Sprite;
trace(getQualifiedClassName(spr));
trace(getQualifiedClassName(Sprite));
//两者都是输出 flash.display::Sprite
3、getQualifiedSuperclassName
这个方法就比较好玩了,是获取自己父类的类原型,比如你一系列的类是继承某个抽象类,而现在你无法得到这个抽象类,那么你可以使用该方法获得该抽象类的类原型,比如:
var spr:Sprite = new Sprite;
trace(getQualifiedSuperclassName(spr));
trace(getQualifiedSuperclassName(Sprite));
//两者都是输出 flash.display::DisplayObjectContainer
其实这个三方法在日常编程很少用得到,但是了解一下并无害,而且这个三个方法,也经常出现在各大公司的面试题上,因为这几个用处不大,但是可以了解你对AS3的熟悉程度到了哪儿。
举一反三,竟然可以获得他的父类,那么抽象类的父类也可以获得拉?
请看:
var tmp = Sprite;
while(tmp != Object){
tmp = getDefinitionByName(getQualifiedSuperclassName(tmp));
trace(getQualifiedClassName(tmp));
}
/**
* 输出:
* flash.display::DisplayObjectContainer
* flash.display::InteractiveObject
* flash.display::DisplayObject
* flash.events::EventDispatcher
* Object
*/
刨根揭底,把Sprite的长辈都挖出来了,不管父亲还是爷爷,或者爷爷的爷爷。。。
有意思吧?了解了解吧。。实质作用没多大,全当小说看吧
AS3获取对象类名,getDefinitionByName,getQualifiedClassName,getQualifiedSuperclassName的更多相关文章
- python动态获取对象的属性和方法 (转载)
首先通过一个例子来看一下本文中可能用到的对象和相关概念. #coding:utf-8 import sys def foo():pass class Cat(object): def __init__ ...
- python动态获取对象的属性和方法
http://blog.csdn.net/kenkywu/article/details/6822220首先通过一个例子来看一下本文中可能用到的对象和相关概念.01 #coding: UTF- ...
- python动态获取对象的属性和方法 (转)
转自未知,纯个人笔记使用 首先通过一个例子来看一下本文中可能用到的对象和相关概念. #coding:utf-8 import sys def foo():pass class Cat(object): ...
- python 面向对象编程、获取对象信息
面向对象与面向过程 参考链接:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0 ...
- java 获取对象的数据类型
// java 获取对象的数据类型 public static String getType(Object object){ String typeName=object.getClass().get ...
- 【Python】[面性对象编程] 获取对象信息,实例属性和类属性
获取对象信息1.使用isinstance()判断class类型2.dir() 返回一个对象的所有属性和方法3.如果试图获取不存在的对象会抛出异常[AttributeError]4.正确利用对象内置函数 ...
- JS中isPrototypeOf 和hasOwnProperty 的区别 ------- js使用in和hasOwnProperty获取对象属性的区别
JS中isPrototypeOf 和hasOwnProperty 的区别 1.isPrototypeOf isPrototypeOf是用来判断指定对象object1是否存在于另一个对象object2的 ...
- java获取对象属性类型、属性名称、属性值
/** * 根据属性名获取属性值 * */ private Object getFieldValueByName(String fieldName, Object o) { try { String ...
- python基础——获取对象信息
python基础——获取对象信息 当我们拿到一个对象的引用时,如何知道这个对象是什么类型.有哪些方法呢? 使用type() 首先,我们来判断对象类型,使用type()函数: 基本类型都可以用type( ...
随机推荐
- leetcode:Longest Common Prefix【Python版】
1.当strs为空,直接输出“” 2.当strs中含有“”,直接输出“” 3.strs[0]的最长长度由最短公共长度l决定(code line:15) class Solution: # @retur ...
- All the Apache Streaming Projects: An Exploratory Guide
The speed at which data is generated, consumed, processed, and analyzed is increasing at an unbeliev ...
- dup and dup2的剖析
转:http://www.cnblogs.com/sdphome/archive/2011/04/30/2033381.html dup和dup2都可用来复制一个现存的文件描写叙述符,使两个文件描写叙 ...
- Jmeter的CSV参数化策略
前提:准备一份csv文件,数字为1-9即可 线程相当于vu,循环相当于迭代 一.所有线程所有线程共享这一份文件,数据有一个线程拿走了,其他线程就拿不走 例子1:只有1个线程,循环次数2次,那么,按照上 ...
- mac下hbase安装
出处:https://www.jianshu.com/p/510e1d599123 安装到的路径:/usr/local/Cellar/hbase/1.2.6 linux操作: linux命令 作用 . ...
- 字符设备之register_chrdev与register_chrdev_region(转)
之前写字符设备驱动,都是使用register_chrdev向内核注册驱动程序中构建的file_operations结构体,之后创建的设备文件,只要是主设备号相同(次设备号不同),则绑定的都是同一个fi ...
- ORA-01919: role 'OLAPI_TRACE_USER' does not exist
我在用数据泵导入数据的时候报的错 TEST_USER1@ORCL> conn / as sysdbaSYS@ORCL> grant plustrace to TEST_USER1; gra ...
- [转]使用Nginx实现反向代理
使用Nginx实现反向代理 解释 正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器这个代理服务器呢,他能访问 ...
- jquery.validate.js remote (php)
网上的人不厚道呀 validate 这玩意的异步是 返回的 echo 'true' 或者 echo 'false';很少有人说呀~.~ 转载了一篇原文: jquery.validate.js对于数 ...
- ALGO-5_蓝桥杯_算法训练_最短路
记: 一开始没接触过关于最短距离的算法,便开始翻阅关于图的知识, 得知关于最短距离的算法有Dijkstra算法(堆优化暂未看懂),Bellman-Ford算法,Floyd算法,SPFA算法. 由于数据 ...