as3中的get和set关键字的作用

来源:互联网 发布:apple mac mini 编辑:程序博客网 时间:2024/04/30 08:29

和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);
        }
    }
}

 

0 0
原创粉丝点击