‘ Visual Basic 6.0 代码:类模块Employee Public SSN As String Public
FirstName As String Public LastName As String Public Salary As
Currency 将这个类储在集合中的方法显得非常直接。
‘ Visual Basic 6.0 代码
Dim employees As New Collection Dim
emp As Employee Set emp = New Employee emp.SSN =
"111-11-1111" emp.FirstName = "Scott" emp.LastName =
"Swigart" emp.Salary = 50000 employees.Add emp,
emp.SSN 这段代码首先创建了一个Collection的实例employees。接着Employee类创建了一个实例,并设置了一些数据。最后,Employee对象被添加到Collection,指定emp.SSN属性作为关键字。下面的代码展示了如何从Collection取出这个Employee对象的实例:
‘ Visual Basic 6.0 代码 Dim emp2 As Employee Set emp2 =
employees("111-11-1111") 现在我们一起来研究一下Visual Basic
6.0的这种集合有什么限制。首先,你的初衷是让employees这个集合只储存Employee类型的对象。但是没有任何机制可以防止将一个别的类型的对象放入这个employees集合,也没有任何东西可以告诉你从这个集合中取出的数据是什么类型。下面的代码照样可以正确编译:
Dim s As String s =
employees("111-11-1111") 虽然开发者可以很明确地知道这不能正确工作,但没有办法让编译器发现这个问题。这样会发生一个运行时错误。集合的使用同样限制了智能感知技术的发挥。看看下面这段代码: