as 3におけるgetとsetキーワードの役割
5569 ワード
JavaのJavaBeanでの属性処理とは異なり,AS 3ではget,setをキーワードとし,この2つのキーワードで属性のアクセスと変更を制御する.
AS 3では、public修飾のgetメソッドとsetメソッドが同時に定義されている場合、オブジェクト・メソッド名でそのプロパティにアクセスして変更することができ、メソッド名にカッコを付けないように注意することができます.
この属性のgetメソッドのみが定義されている場合、その属性は変更できません.
この属性のsetメソッドのみが定義されている場合、その属性にアクセスできません.
次の例では、OrderEventはプライベート属性を定義します.dishesは、この属性のgetメソッドとsetメソッドget dish()とset dish()を定義します.CustomerではorderDishを1つ通過することができる.dishesは、このプロパティにアクセスして変更します.
AS 3では、public修飾のgetメソッドとsetメソッドが同時に定義されている場合、オブジェクト・メソッド名でそのプロパティにアクセスして変更することができ、メソッド名にカッコを付けないように注意することができます.
この属性のgetメソッドのみが定義されている場合、その属性は変更できません.
この属性のsetメソッドのみが定義されている場合、その属性にアクセスできません.
次の例では、OrderEventはプライベート属性を定義します.dishesは、この属性のgetメソッドとsetメソッドget dish()とset dish()を定義します.CustomerではorderDishを1つ通過することができる.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 }