AS3的Proxy类的用法

  Proxy类是AS3中的一个用来覆盖元运算符的类。Proxy类没有构造器,不能被实例化,只能通过继承来使用(类似于抽象类)。
  Proxy类的基本用法如下:

  package

 {

    import flash.utils.Proxy;

    import flash.utils.flash_proxy;

   dynamic public class Temp extends Proxy

   {

       override flash_proxy function XXXX(XXX):XXX

        {…}

    }

 }
1, 写一个类继承Proxy;
2, 记得要导入Proxy和flash_proxy,后者在Flex Builder的自动提示中没有找到;
3, 使用override flash_proxy function来开始你的覆盖方法。
在上面的例子中,XXXX(XXX):XXX处可用的方法如下:(按帮助文档中的方法翻译)
callProperty(name:*, … rest):*
调用一个该类中不存在的方法的时候执行。
deleteProperty(name:*):Boolean
删除一个该类中不存在的对象的时候执行。
getDescendants(name:*):*
调用descendant accessor运算符的时候执行。descendant accessor运算符是两个连续的“.”号。
getProperty(name:*):*
调用一个该类中不存在的变量的时候执行。
hasProperty(name:*):Boolean
执行类的hasOwnProperty方法时,如果查询的属性名称在类中未有定义,则调用此方法。hasOwnProperty是Object对象的方法,所以所有的类都有此方法。
isAttribute(name:*):Boolean
未知。Checks whether a supplied QName is also marked as an attribute.
nextName(index:int):String
nextNameIndex(index:int):int
nextValue(index:int):*
这三个基本上是一起用的,在for in和for each循环中获取下一个值。nextValue用于for each,nextName用于for in。在获取之前都会执行一次nextNameIndex。如果返回的int值是0,表示循环结束。否则,会根据nextNameIndex的返回int来获取name或者value。
setProperty(name:*, value:*):void
当给对象中一个未定义的属性赋值的时候,执行此方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值