获取对象类型——getQualifiedClassName、getQualifiedSuperclassName、is和as的比较
来源:互联网 发布:apache hadoop yarn 编辑:程序博客网 时间:2024/06/01 09:21
getQuailiedClassName可以获取该对象的类型,返回的是类名
getQualifiedSuperclassName获取上一级的类名,这个函数只能检查到上一级的类名,若继承结构复杂,可能有的继承两至三级甚至更多,在不知道继承级别的情况下,用getQualifiedSuperclassName想知道对象的继承关系链里是否存在textClass或者shapeClass,就只能通过遍历至顶级类来检验了......不但麻烦,而且效率低
is这一运算符可以检验某对象是否为指定类的实例,只要指定类在继承关系链中,都返回true。另外也包括接口。也就是说,假设my_spr是一个Sprite类的实例,那么下面的三个表达式都输出true
实现了接口以后,在舞台上假如形状,MC,文本都存在的话,你也不需要检查他们是什么类了,只要了解他们实现的接口就OK。
if(currentObj is IColorProcessor){
(currentObj as IColorProcessor).setFillColor(newColor);
}
if(currentObj is IFilterProcessor){
(currentObj as IFilterProcessor).setFilters(filt_arr);
}
可见,定义了接口,在处理多种类型的对象过程中会方便很多
if(currentObj is IColorProcessor){
(currentObj as IColorProcessor).setFillColor(newColor);
}
if(currentObj is IFilterProcessor){
(currentObj as IFilterProcessor).setFilters(filt_arr);
}
可见,定义了接口,在处理多种类型的对象过程中会方便很多
接口和抽象类相比,多出的一个优势在于(仅限Java和AS3),一个类可以实现多个接口,但是不能继承多个类
0 0
- 获取对象类型——getQualifiedClassName、getQualifiedSuperclassName、is和as的比较
- AS3获取对象类名,getDefinitionByName,getQualifiedClassName,getQualifiedSuperclassName
- getDefinitionByName/getQualifiedClassName/getQualifiedSuperclassName
- getDefinitionByName,getQualifiedClassName,getQualifiedSuperclassName用法
- (转)getDefinitionByName,getQualifiedClassName,getQualifiedSuperclassName用法
- Flex的四种判断对象类型的方式 as instanceof is typeof比较
- c# as is 类型转换,性能比较
- as和is类型转换
- C#的as, is和类型强制转换
- is和as在类型转换时的性能差异
- is和as优于强制性类型转换
- 3、强制类型转换、as和is
- .NET 类型转换is和as
- c#的is,as,强制类型问题
- 类型转换中as、is的使用
- is 和 as 的区别
- C#的?is 和as
- as 和 is的区别
- NSTimer用法,暂停,继续,初始化
- Js插件:-prefix-free
- ios 前台和后台交互问题
- VLAN的理解和应用
- FileChannel文件锁
- 获取对象类型——getQualifiedClassName、getQualifiedSuperclassName、is和as的比较
- Apache基于IP的虚拟主机本地配置
- 深入Struts2的过滤器FilterDispatcher--中文乱码及字符编码过滤器
- 获得App Store推荐的建议和技巧
- Android如何实现模态Dialog
- 使用Datepicker使用时日期回显格式不对解决方法
- 对NSNotificationCenter的新理解
- Head First 串
- Synchronized()与wait()用法