【发布时间】:2009-10-14 23:42:41
【问题描述】:
所以在 actionscript 3 中,Object 类的实例可以用作关联数组:
var doNotHaveSexWith:Object = new Object();
doNotHaveSexWith['mum'] = new Person(...);
doNotHaveSexWith['dad'] = new Person(...);
doNotHaveSexWith['dave'] = new Person(...);
假设我有一些班级,其中一个成员是一个只读“对象”,其中包含我的人员集合。
我认为如果我返回这个“对象”,代码可读性会受到很大影响,因为程序员怎么知道如何处理它? 有人知道它是一个集合的唯一方法是他们阅读代码或 cmets...
表明一个对象是一个集合而不是一个简单对象的最佳方式是什么?
选项:
创建一个动态类,简单 从 Object 扩展,称为 “AssociativeArray”什么的,就 所以代码变得更具可读性......
使用AS3 Datastructures Library 之类的东西,尽管这样 似乎有点矫枉过正。
只需将单词 Collection 添加到 变量名的结尾?
例如:
var hotPeopleCollection:Object = new Object();
hotPeopleCollection['me'] = new Person(...);
hotPeopleCollection['sandrasully'] = new Person(...);
你怎么看?
更新:我决定使用扩展字典的自定义类。这样我可以在搜索函数周围包装一个合理的访问函数:hasOwnProperty,并给类一个有意义的名字。
我选择 Dictionary over Object 的原因有两个:
- 字典让集合更直观
- 字典似乎在 O(1) 时执行搜索。公平地看到这个 非正式dictionary vs array vs object performance benchmark
【问题讨论】:
标签: actionscript-3 data-structures readability