as3的反射
------》getDefinitionByName 通过"flash.display.Sprite"字符串得到类,并new一个对象画正方形;
private function GetDefinitionByNameExample():void { var ClassReference:Class = getDefinitionByName("flash.display.Sprite") as Class; var instance:Object = new ClassReference(); instance.graphics.beginFill(0xCCCCCC); instance.graphics.drawRect(0, 0, 50, 50); instance.graphics.endFill(); addChild(DisplayObject(instance)); }
-------》 getQualifiedClassName 通过对象获取类名称
var sprite1:Sprite = new Sprite(); var classNameOfSprite:String = getQualifiedClassName(sprite1); trace("Sprite 的类名 : " + classNameOfSprite); // Sprite 的类名 : flash.display::Sprite
-------》 getQualifiedSuperclassName 通过对象获取父类名称
var sprite1:Sprite = new Sprite(); var superclassNameOfSprite:String = getQualifiedSuperclassName(sprite1); trace("Sprite 的超类 (基类) 类名 : " + superclassNameOfSprite); //Sprite 的超类 (基类) 类名 : flash.display::DisplayObjectContainer
参考 http://www.blueidea.com/tech/multimedia/2006/3874.asp