[as3]as3中的get和set关键字的作用
和Java的JavaBean中属性处理方式不一样,AS3中将get,set当做关键字,并通过这两个关键字来控制属性的访问和修改。
和Java的JavaBean中属性处理方式不一样,AS3中将get,set当做关键字,并通过这两个关键字来控制属性的访问和修改。
在AS3中,当一个属性同时被定义了public修饰的get和set方法时,就可以通过“对象.方法名”来访问和修改该属性,注意方法名不要带括号。
当只定义了该属性的get方法时,不能修改该属性。
当只定义了该属性的set方法时,不能访问该属性。
如下例中,OrderEvent定义了一个私有属性_dishes,并定义了该属性的get和set方法get dish()和set dish()。在Customer中就可一个通过orderDish.dishes来访问和修改该属性。
- package
- {
- import flash.events.Event;
- public class OrderEvent extends Event
- {
- public static const ORDER_DISHES:String = "点菜";
- private var _dishes:Array;
- public function OrderEvent()
- {
- super(ORDER_DISHES);
- }
- public function set dishes(dishesAry:Array):void{
- _dishes = dishesAry;
- }
- public function get dishes():Array{
- return _dishes;
- }
- }
- }
- package
- {
- import flash.events.EventDispatcher;
- public class Customer extends EventDispatcher
- {
- public var name:String;
- public function Customer(nS:String)
- {
- name = nS;
- }
- public function order():void{
- var orderDish:OrderEvent = new OrderEvent();
- orderDish.dishes = ["剁椒鱼头","农家小炒肉","神仙豆腐"];
- dispatchEvent(orderDish);
- }
- }
- }
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...