在AS3中,如何覆盖[]运算符的setter和getter?

时间:2012-12-20 05:57:52

标签: actionscript-3 inheritance dictionary operators overloading

我知道AS3通常不允许方法或运算符重载,但我认为我之前已经看到了[]运算符的解决方法。基本上我试图继承或包装字典 - 我不一定关心哪个 - 并为该运算符创建稍微特殊的行为,即在连续两次使用的情况下(object [x] [y] )。我可以使用哪种特殊的解决方法或漏洞吗?谢谢!

1 个答案:

答案 0 :(得分:4)

您可以使用Proxy类覆盖getterssetters

如果您延长Proxy并制作课程dynamic,您将能够覆盖这些方法:

使用[]运算符将按预期应用于此(如果您覆盖thing.x的getter,则thing["x"]将与x相同。

如果你查看我在上面添加的链接到Proxy类,有一些示例代码块可以演示如何实现你想要做的事情。