命运践踏win

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

反射  是指只在程序运行时获取信息的方式。

比如实现动态创建类实例,方法,通过发射可以用字符串来取代类名。好处在于动态的据定了主程序要调用的类;

使用new运算符创建对象或实例时,直接调用了某个具体类的构造函数,而在编程时,经常需要动态地创建类的实例,这时可以使用反射来创建实例。 

//动态得到类的构造函数 
var classcontructor:Class = MovieClip; 
//创建相关类的实例 
var mc:MovieClip = new classcontructor(); 
mc.graphics.beginFill(0xff9900,100); 
mc.graphics.drawRect(0,0,100,100); 
addChild(mc);

先把MovieClip类保存在一个数据类型为Class的变量 “classcontructor”中,再通过“classcontructor”来创建实例。当“classcontructor”的值改为其他类型时,创建的实例也就属于其他类型。

//保存链接名 
var linkname:String = "BigPhoto"; 
//得到类信息 
var cla:Class = getDefinitionByName(linkname); 
//创建类的实例 
var bitmapdata:BitmapData = new cla(50,50); 
var img:Bitmap = new Bitmap(bitmapdata); 
addChild(img);

posted on 2012-11-09 20:19  命运践踏win  阅读(178)  评论(0编辑  收藏  举报