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 
  • 相关阅读:
    经典面试题之——如何自由转换两个没有继承关系的字段及类型相同的实体模型,AutoMapper?
    MySQL高效分页-mybatis插件PageHelper改进
    bat/cmd批处理程序设计教程
    除法与模运算的识别-大量除法推导过程
    进程 线程 协程的相关理解
    音素音标
    如何免费的让网站启用HTTPS
    破解笔记
    Linux的.a、.so和.o文件 对比 window下的dll,lib,exe文件
    注册表启动的位置
  • 原文地址:https://www.cnblogs.com/ddw1997/p/1536851.html
Copyright © 2011-2022 走看看