zoukankan      html  css  js  c++  java
  • AS3动态获得类名及类的方法

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

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

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

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

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

     1 package {
     2     import flash.display.DisplayObject;
     3     import flash.display.Sprite;
     4     import flash.utils.getDefinitionByName;
     5 
     6     public class GetDefinitionByNameExample extends Sprite {
     7         private var bgColor:uint = 0xFFCC00;
     8         private var size:uint = 80;
     9 
    10         public function GetDefinitionByNameExample() {
    11             var ClassReference:Class = getDefinitionByName("flash.display.Sprite") as Class;
    12             var instance:Object = new ClassReference();
    13             instance.graphics.beginFill(bgColor);
    14             instance.graphics.drawRect(00, size, size);
    15             instance.graphics.endFill();
    16             addChild(DisplayObject(instance));
    17         }
    18     }
    19 }

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

    1 var i=0
    2 var c:*=getDefinitionByName(getQualifiedClassName ("MyClass"+i)); 
    3 var myClass:*=new c();
    4 
  • 相关阅读:
    github上fork的项目,如何同步原作者更新的内容?
    设计模式-简单工厂模式详解
    设计模式-建造者模式详解
    设计模式-原型模式详解
    设计模式-单例模式详解
    SqlServer断开所有连接
    Winform重写键盘按键事件
    从拖拉控件编程到面向设计编程(一)
    Springboot vue 前后分离 跨域 Activiti6 工作流 集成代码生成器 shiro权限
    java 微信自定义菜单 java微信接口开发 公众平台 SSM redis shiro 多数据源
  • 原文地址:https://www.cnblogs.com/ddw1997/p/1536851.html
Copyright © 2011-2022 走看看