2011-02-11 56 views

回答

1

不,不幸的不是。你可以很容易地實現一個,如果我要實現它,我會擴展Proxy object它會給你一點靈活性。

UPDATE:

此更新是爲了澄清由OP註釋的問題。評論是「這將是一個新的類擴展代理,而不是字典/等?」

是的,你會想擴展代理,原因是它允許你重寫幾個神奇的方法來實現你的目標。特別是在你的情況下,你可以覆蓋setProperty(name:*, value:*):void。每次在你的類上設置一個屬性(它由你來提供設置實現)時,這個方法將被調用,這樣你就可以計算在給定時間設置的值的數量。如果擴展對象或字典,則無法訪問此對象,並知道何時設置新屬性的方法。

如果您擴展了對象,則需要依靠接口來實現目標,要求用戶通過方法調用來設置屬性。

的代理執行將允許您仍然設置屬性是這樣的:

myObj.foo = 'bar'; 
myObj["foo"] = 'bar'; 

的方法實現(擴展對象)是這樣的:

myObject.setVal("name", "val"); 
+0

這將是一個新的類擴展代理和不是Dictionary/etc?我是新來的ActionScript,非常感謝,如果有人創建一個準備去上課被分享... – 2011-02-13 13:51:23