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来访问和修改该属性。

 1 package
 2 {
 3     import flash.events.Event;
 4     public class OrderEvent extends Event
 5     {
 6         public static const ORDER_DISHES:String = "点菜";
 7         private var _dishes:Array;
 8         public function OrderEvent()
 9         {
10             super(ORDER_DISHES);
11         }
12         public function set dishes(dishesAry:Array):void{
13             _dishes = dishesAry;
14         }
15         public function get dishes():Array{
16             return _dishes;
17         }
18     }
19 }
 1 package
 2 {
 3     import flash.events.EventDispatcher;
 4 
 5     public class Customer extends EventDispatcher
 6     {
 7         public var name:String;
 8         public function Customer(nS:String)
 9         {
10             name = nS;
11         }
12         
13         public function order():void{
14             var orderDish:OrderEvent = new OrderEvent();
15             orderDish.dishes = ["剁椒鱼头","农家小炒肉","神仙豆腐"];
16             dispatchEvent(orderDish);
17         }
18     }
19 }
原文地址:https://www.cnblogs.com/hisiqi/p/2710252.html