创建自己的集合类
一般可以采取三种办法用集合来实现对象包含。以上面“对象模型”中所讨论的 SmallBusiness 对象的 Employees 集合为例。为了实现该集合,可以这样做:
- 在 SmallBusiness 类模块中,将
Employees
变量声明为 As Collection,并使之成为 Public。这是最简单的解决方案。
- 在 SmallBusiness 类模块中,将
mcolEmployees
变量声明为 As Collection,并使之成为 Private。将添加和删除对象的一组方法赋给 SmallBusiness 对象。这是三种设计方案中面向对象概念用得最少的办法。
- 通过创建名为 Employees 的集合类模块,来实现自己的集合类,就象在本章后面所描述的那样。将 Employees 类的只读属性赋给 SmallBusiness 对象。
下面以强健性的逐渐增加为顺序,列出了三种策略。它们的特点可以分别用稻草盖的房子、树枝盖的房子和砖块盖的房子来作类比。
- 公有集合示例:稻草盖的房子 该 Collection 对象的极端灵活性对它有害—可以将任何东西放到 Collection 中,包括 KitchenSink 对象。
- 私有集合示例:树枝盖的房子 将 Collection 对象设置为私有的,可以获得一些强健性,但是,这样做会失去与集合一起使用 For Each ... Next 的能力。
- 创建自己的集合类:砖块盖的房子 创建自己的集合类,从而得到了最强健的封装性,而且作为“额外津贴”又恢复了可以使用 For Each ... Next 的能力。
- 好的面向对象程序设计的优点 集合类会使得代码更清晰、更安全。