我最近一直在尝试在AS3中实现一些干净的编码实践.其中之一就是不要从包含对象中放弃对Arrays的引用.关键是我控制从一个类添加和删除,并且该阵列的所有其他用户都接收只读版本.
目前只读版本是我编写的ArrayIterator类,它实现了一个典型的Iterator接口(hasNext,getNext).它还扩展了Proxy,因此它可以像Array一样用于每个循环.
所以我的问题是,这不是许多语言的基本特征吗?能够传递对集合的只读视图的引用吗?
此外,现在AS3中的集合的类型安全性得到了改进,以Vector类的形式,当我在VectorIterator中包装一个Vector时,为了不变性而丢失了输入.有没有办法在AS3中实现这两种欲望,不变性和打字?