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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM