`

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

    博客分类:
  • AS3
 
阅读更多

1.获得某个实例对象的类名:getQualifiedClassName (实例名字符串表达式);

 

stage.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandle);
 function mouseOverHandle(e:Event):void {
     trace("over");
     //   返回instance**之类的        
     trace(e.target.name);
     //返回元件名   
     trace(getQualifiedClassName(e.target));
 }

 2.获得某个实例对象的类:constructor

dynamic class A {}
trace(A.prototype.constructor);      // [class A]
trace(A.prototype.constructor == A); // true
var myA:A = new A();
trace(myA.constructor == A);         // true
 

 3.根据类名获得类: getDefinitionByName(类名);

     import flash.display.DisplayObject;
     import flash.display.Sprite;
     import flash.utils.getDefinitionByName;
 
     public class GetDefinitionByNameExample extends Sprite {
         private var bgColor:uint = 0xFFCC00;
         private var size:uint = 80;
 
         public function GetDefinitionByNameExample() {
             var ClassReference:Class = getDefinitionByName("flash.display.Sprite") as Class;
             var instance:Object = new ClassReference();
             instance.graphics.beginFill(bgColor);
             instance.graphics.drawRect(0, 0, size, size);
             instance.graphics.endFill();
             addChild(DisplayObject(instance));
         }
     }
 }

 4.用得到的类实例化对象:一般中间要用一个无类型变量传递类,进行实例化;如:

var i=0; 
var c:*=getDefinitionByName(getQualifiedClassName ("MyClass"+i)); 
var myClass:*=new c();
 

 

分享到:
评论

相关推荐

    javascript实现类似java中getClass()得到对象类名的方法

    本文实例讲述了javascript实现类似java中getClass()得到对象类名的方法。分享给大家供大家参考。具体如下: 在javascript中没有能够返回特定类型名的函数 如一个对象 console.log(obj); 得到的是[object ...

    as3 接口类的用法和好处

    原来,接口和抽象类相比,多出的一个优势在于(仅限Java和AS3),一个类可以实现多个接口,但是不能继承多个类。所以,如果在这里改用接口,就一切都好解决了。先定义两个接口: package{ public interface ...

    Unity_DocumentClass:基于tolua + emmylua的Unity as as3文档类的实现

    unity_documentclass一、实现基于unity的文档类功能基于tolua和emmylua,一种类似as3文档类的实现。对一个prefab添加脚本组件:DocumentClass,并指定其类名,有两种方式可以将prefab和lua类联系起来:1.代码创建即可...

    NSObject-FromClassName:快速从其类名获取NSObject

    NSObject-FromClassName 快速扩展,可从其类名快速获取NSObject extension NSObject { class func fromClassName ( className : String ) -> NSObject { let className = NSBundle. mainBundle (). infoDictionary !...

    C++MFC教程

    在MFC中对消息的处理利用了消息映射的方法,该方法的基础是宏定义实现,通过宏定义将消息分派到不同的成员函数进行处理。下面简单讲述一下这种方法的实现方法: 代码如下 BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd...

    javascript中获取class的简单实现

    function getClass(tagName,className) //获得标签名为tagName,类名className的元素 { if(document.getElementsByClassName) //支持这个函数 { return document.getElementsByClassName(className); } else {...

    对Java的ClassLoader的几点认识

    1、ClassLoader只是一个普通抽象类,它的工作是从类名得到Class。ClassLoader与其他类的不同之处是它是为JVM服务的,属于“公务员”,例如Thread带有getContextClassLoader()和setContextClassLoader()方法;  2、...

    javascript下利用for( in )语句 获得所有事件名称的代码

    events=[];for(o in document)if(/^on/.test(o))events.push(o) 这里输入代码内容  0 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

    ZendFramework中文文档

    13.3. 从网页上获得Feed 13.4. RSS Feed的使用 13.5. Atom Feed的使用 13.6. 单个Atom条目的处理 13.7. 修改Feed和条目结构 13.8. 自定义Feed和条目类 14. Zend_Filter 14.1. 简介 14.1.1. 什么是过滤器...

    MFC的程序框架剖析

    C:在CTestView类中,通过GetParent函数可以获得CMainFrame框架窗口对象的指针 D:实现一(在视类窗口中通过ShowWindow函数显示按钮) int CTestView::OnCreate(LPCREATESTRUCT lpCreateStruct) { ... m_btn.Create...

    IPE:基于Java的编程语言

    world) @class =您要使用的类名可以使用不同的文件名,因为它是动态的@import =与import java.lang >>相同,但是它也可以像这样支持@import Integer as =表示可以分配变量#Notice该来源会在一天内得到更新,但下载...

    软件工程工资管理系统

    6.3.2类文件功能描述 14 6.3.3主要代码分析 14 }7.系统测试方案和测试报告 21 7.1测试方案 21 7.2测试过程 21 7.2.1登陆测试 21 8.安装和使用说明 25 8.1安装说明 25 8.1.1安装VB6.0E 25 8.1.2安装Microsoft SQL ...

    jQuery完全实例.rar

    如果你想得到 jQuery对象,可以使用 $(this) 函数。 jQuery 代码: $("img").each(function(){ $(this).toggleClass("example"); }); -----------------------------------------------------------------------...

    Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好

    但Qt Creator 默认是用动态链接的, 就是可执行程序在运行时需要相应的.dll 文件。我们点击生成的.exe 文件,首 先可能显示“没有找到mingwm10.dll,因此这个应用程序未能启动。重新安装 应用程序可能会修复此问题。...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    1.3.2跨域交互即缓存处理方法 7 1.3.3页面自适应机制,即设备自适应与浏览器自适应机制 8 1.3.4 “认我测”质检服务平台的设计和实现 8 1.4 本文的结构安排 8 第二章 多窗口类浏览器设计 11 2.1 多窗口类浏览器需求...

    SQLite数据库 sqlitedll库文件 sqlite驱动JAR包 sqlite工具

    一定要保证在类路径ClassPath中有该jar包,并且保证在JAVA库路径JAVA Library Path中有本地库Native Library(\workspace\"Web应用"\WebRoot\WEB-INF\lib\下最好也要加入该jar包)。"SQLite.JDBCDriver"作为JDBC的...

    js获取class的所有元素

    代码如下:<...<head>[removed] [removed] = function(){ var topMenus = getClass(‘li’,’topMenu’);...function getClass(tagName,className) //获得标签名为tagName,类名className的元素{ if(documen

Global site tag (gtag.js) - Google Analytics