`
hereson
  • 浏览: 1444428 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

flash.utils.Proxy翻译及请教高手

阅读更多

Package flash.utils (点击进入adobe livedocs查看)
Class public class Proxy
Inheritance Proxy  Object
Subclasses AbstractService, DescribeTypeCacheRecord, ListCollectionView, ObjectProxy

Proxy类可以让您重载各种在对象上进行操作的原有行为(例如获取和修改成员的值).

Proxy类没有构造函数,所以您别想得到他的实例.相反的,正当方法是是在Proxy的子类中覆盖方法,例如利用getProperty重载方法以及产生自定义方法.如果您在Proxy的子类中尝试使用未被重载的Proxy类的方法,则会抛出例外.也就是说对于Proxy类的方法,您只有在重载之后才可以使用.

您要紧记一点,您重载Proxy类的方法会抛出一个不可交互例外.这是因为您的代码(比如有in, is, delete等操作符的)没有加入错误预处理,除非您确信您的方法不会抛出错误,Adobe建议您普遍使用try...catch语句来防止致命错误的产生.

在AS3中Proxy类替代了AS2中Object.__resolve 和Object.addPropery的功能特性(此二者在AS3已经不可用).AS2中的Object.addProperty()方法允许您动态的创建get/set方法.虽然AS3提供了get/set方法供您在编译环节使用,但使用Proxy类是动态的给对象添加get/set方法的唯一手段.

为了避免在公共命名空间中发生致命冲突,Proxy类的方法被放进了flash_proxy命名空间中.

将要作为name参数传入属于Proxy子类的方法中的变量,您使用字符串或者QName都可以(若命名空间被使用的话).

Protected Methods

callProperty(name:*, ... rest):*
重载某个对象的方法.
(宝宝入:这里的name不是指定要重载的方法,而是所有对本对象(即'this')的所有方法的调用都会交给callProperty来处理,您在callProperty函数中设计哪个函数需要重载以及如何重载的;或者说callProperty并没有重载了什么,而是callProperty函数的内容定义了重载的一切细节.  )
       
deleteProperty(name:*):Boolean
重载要求删除成员的方法.

getDescendants(name:*):*
重载对派生操作符的使用.

getProperty(name:*):*
重载查询成员的值.

hasProperty(name:*):Boolean
重载以成员名为依据在对象中进行查询是包含指定的成员的方法.
       
isAttribute(name:*):Boolean
查询一个QName是否同时被标记成属性了.

nextName(index:int):String
使用成员的索引从被代理的对象成员中检索出相应成员的名称.

nextNameIndex(index:int):int
使用序号来检索被代理的对象成员.

nextValue(index:int):*
使用被代理的成员序号来查询成员的值.

setProperty(name:*, value:*):void
重载各种对成员的赋值行为.


付:flash_proxy命名空间
此命名空间用于定义Proxy类的方法。Proxy类的方法都在他们自己的命名空间中,这么做的目的是为了避免在如下情形中出现命名冲突:您的Proxy子类拥有的实例方法名和Proxy类的方法名重合.

至于AS2的Object.watch方法偶实在是太怀念了
AS3没有了watch方法,偶实在很不爽
自己想了好久没有想出如何在AS3中实现
虽然可以在AS工程中导入FLEX工程的SWC来使用[Bindable]
但仍旧不及watch方法的便捷

----想要写一些能自动跟踪变量值工作的AS3东东出来
在AS2中只要让使用者把作为数据来源的变量引用指定到我的类的一个prop上就可以了
(自己的类中代码写的是:
     .........
     obj.parent.watch( obj,....... )
使用者只要来一句:
     xxx.dataSource = '_level0.a.b.variable'
就轻松完成数据绑定了!
)
但现在要怎样实现这样方便的功能呢?

虽然希望不是很大,但偶还是不死心----AS3的dataProvider好像可以做到使用者随便指定一个变量就可以去监视的
数据侦听~你令我魂牵梦萦
分享到:
评论
1 楼 ping2010 2010-01-02  
写的好,有点深度!

相关推荐

    ImportError:无法从“django.utils.encoding”导入名称“force text”Python 错误

    在Django的新版本中,正确的导入语句应该是`from django.utils.encoding import force_text`(如果使用的是旧版本Django)或者`from django.utils.encoding import force_str`(如果使用的是Django 3.0及以上版本)...

    DevExpress.Utils3

    DevExpress_Utils3_DLL文件详解 DevExpress.Utils3.DLL是DevExpress公司开发的一个组件库,主要用于Windows应用程序的开发。这个动态链接库文件包含了丰富的UI控件和工具,为开发者提供了高效、功能强大的开发支持...

    DevExpress.Utils3.dll

    该dll为DevExpress控件的DevExpress.Utils3.dll

    Ionic.Utils.Zip 1.3-1.7版本

    《Ionic.Utils.Zip 1.3-1.7版本:深入解析与应用》 Ionic.Utils.Zip是一款基于.NET Framework的开源库,由Koogra开发,专为处理ZIP文件格式而设计。该库提供了一系列方便易用的API,允许开发者在.NET环境中进行高效...

    axis2.jar 解决 org.apache.axis2.util.JavaUtils.callStackToString问题

    <Call Stack = DEBUG_FRAME = org.apache.axis2.util.JavaUtils.callStackToString(JavaUtils.java:564) DEBUG_FRAME = org.apache.axis2.description.ParameterIncludeImpl.debugParameterAdd(ParameterIncludeImpl...

    Python库 | oslo.utils-3.24.0.tar.gz

    1. **时间戳处理**:在日志记录、定时任务或者事件触发器中,oslo.utils.timeutils可以简化时间的处理,确保正确的时间戳记录和处理。 2. **配置管理**:在开发需要读取配置文件的程序时,利用oslo.utils.iniparser...

    OpenStack工具库类oslo.utils.zip

    oslo.utils 库提供了常用的工具库类的功能,例如编码,异常处理,字符串操作和时间处理。 标签:osloutils

    Bing.Utils:Bing.Utils工具库

    Nuget软件包包名称Nuget版本下载数Bing.Utils Bing.Utils.DateTime Bing.Utils.Drawing Bing.Utils.Http开发环境以及类库依赖以下是我们在项目开发和部署时使用的工具和组件,这个列表会经常更新。如果没有标注版本...

    PyPI 官网下载 | oslo.utils-3.42.1.tar.gz

    《PyPI官网下载 | oslo.utils-3.42.1.tar.gz:深入解析Python实用工具库oslo.utils》 在Python的世界里,丰富的第三方库是其强大魅力的一部分。PyPI(Python Package Index)作为官方的Python软件包仓库,为开发者...

    PyPI 官网下载 | envoy.base.utils-0.0.11.tar.gz

    标题中的"PyPI 官网下载 | envoy.base.utils-0.0.11.tar.gz"表明这是一个在Python Package Index(PyPI)上发布的开源软件包。PyPI是Python社区广泛使用的资源库,开发者可以在这里发布自己的Python软件包,供其他...

    Python库 | pyats.utils-21.7-cp37-cp37m-macosx_10_10_x86_64.whl

    2. **数据处理**:`pyats.utils.datastructs`提供了数据结构操作工具,如列表、字典的处理,以及数据验证等功能,使得数据处理更规范和高效。 3. **配置管理**:`pyats.utils.config`可以帮助开发者读取、解析和...

    PyPI 官网下载 | zeam.utils.batch-0.2.tar.gz

    《PyPI官网下载 | zeam.utils.batch-0.2.tar.gz 深度解析》 在Python编程领域,PyPI(Python Package Index)是全球最大的Python软件仓库,它为开发者提供了一个集中发布和获取Python库的平台。"zeam.utils.batch-...

    PyPI 官网下载 | rcsb.utils.io-0.22.tar.gz

    开发人员可以通过pip(Python的包管理器)来安装rcsb.utils.io,例如运行`pip install rcsb.utils.io`命令,然后在他们的Python代码中导入相关的功能。 在压缩包内,"rcsb.utils.io-0.22"很可能是包含了源代码、...

    PyPI 官网下载 | rcsb.utils.seq-0.49.tar.gz

    《PyPI官网下载:rcsb.utils.seq-0.49.tar.gz详解》 在Python的开发过程中,包管理器PyPI(Python Package Index)扮演着至关重要的角色,它为开发者提供了一个集中化的地方来发布、查找和安装Python库。本文将深入...

    Python库 | rcsb.utils.seq-0.60.tar.gz

    《Python库rcsb.utils.seq-0.60详解》 在Python编程领域,库的使用是提高开发效率和代码质量的重要手段。rcsb.utils.seq-0.60是一个专门用于处理序列数据的Python库,它为生物信息学中的序列操作提供了便捷的工具。...

    Python库 | antispoofing.utils-1.0.5.zip

    《Python库antispoofing.utils-1.0.5详解》 在计算机科学与信息技术领域,Python作为一种高级编程语言,以其简洁的语法和强大的库支持,深受开发者的喜爱。antispoofing.utils-1.0.5是针对Python的一个特定库,主要...

    Python库 | pyats.utils-21.5-cp36-cp36m-manylinux1_x86_64.whl

    - **日志处理**: `pyats.utils.log`模块提供了自定义的日志记录功能,允许在测试过程中生成详细且结构化的日志信息,有助于调试和问题定位。 - **数据处理**: `pyats.utils.datautils`包含了一系列数据操作工具,如...

    java3d applet 入门小案例

    import com.sun.j3d.utils.applet.MainFrame; import java.awt.BorderLayout; import com.sun.j3d.utils.universe.SimpleUniverse; import javax.media.j3d.*; import javax.vecmath.*; import ...

    PyPI 官网下载 | tiddlywebplugins.utils-1.1.tar.gz

    《PyPI官网下载:tiddlywebplugins.utils-1.1.tar.gz——探索Python库在分布式环境中的应用》 PyPI(Python Package Index)是Python社区的重要资源库,它为全球开发者提供了丰富的Python软件包。在本文中,我们将...

    Python库 | wwpdb.utils.wf-0.26.dev1.tar.gz

    《Python库wwpdb.utils.wf-0.26.dev1:深入解析与应用》 在Python的世界里,库是开发者的重要工具,它们提供了丰富的功能,让编程变得更加高效和便捷。本篇文章将深入探讨名为`wwpdb.utils.wf-0.26.dev1`的Python库...

Global site tag (gtag.js) - Google Analytics