ActionScript3.0 反射

as3.0 反射 主方法:

package {
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	import flash.utils.getDefinitionByName;
	
	import pages.Page;
	import pages.PageA;
	import pages.PageB;

	public class MyReflection extends Sprite {
		
		private static const PAGES:Array = [PageA,PageB];
		
		public function MyReflection() {
			stage.addEventListener(MouseEvent.CLICK, onClick);
		}
		
		protected function onClick(event:MouseEvent):void {
			this.load("PageA");
		}
		
		public function load(pageType:String):void {  
			//加载Class.  
			var pageClass:Class = getDefinitionByName("pages."+pageType) as Class;  
			//实例化Class.用接口接收  
			var instance:Page = new pageClass() as Page;  
			//调用方法.  
			instance.print();  
		} 
	}
}

接口:

package pages {
	public interface page {
		function print():void;
	}
}

PageA:

package pages {
	public class PageA implements Page {
		public function PageA() { }
		
		public function print():void {
			trace("PageA");
		}
	}
}

PageB:

package pages {  
	public class PageB implements Page  {
		public function PageB():void { }
		
		public function print():void {  
			trace("PageB");  
		}  
	}  
}  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值