Flex动态加载类

在Java中可以通过反射机制动态创建类,在Flex中同样可以根据类名动态的创建类

 

可创建一个工具类:ClassUtil.as

package com.njit
{
	import flash.utils.getDefinitionByName;

	public class ClassUtil{
		
		public function ClassUtil(){
			
		}

		//根据类名创建类
		private function createClass(cname:String):Class{
			return getDefinitionByName(cname) as Class;
		}
		
		//实例化类
		public static function getInstance(cname:String):*{
			var instance:Class=this.createClass(cname);
			return instance;
		}
		
	}
}

 注意:在调用上述方法创建类时,需要在开头先声明一下该类的一个变量(虽然这个变量没有用到)

//必须在此先声明一下改类的一个引用,否则会报错
			private var _leftComp:LeftComp;
			private function init():void{
				var c:Class=ClassUtil.getInstance("com.njit.view.LeftComp");
				this.addChild(c);
			}

 

你可能感兴趣的:(C++,c,Flex,C#,Flash)