摘要:[VB6] Collection 實例演出
Collection 的用法
Collection是我們在使用類時最常用到的對象。一個Collection對象代表一組相關的項目,雖然它的成員並不被強制要求是同一類型的的,但請記住,這通常並不能給我們帶來額外的方便,相反,我們通常是用來收集同一類型的數據。
建立集合的方法和建立其它對象一樣,如:
Dim col As New Collection
集合建立後,可以使用Add方法添加成員,用Remove方法刪除成員,用Item方法從集合中返回特定成員。
Private Sub Command1_Click()
Dim col As New Collection
Dim i as integer
Dim ct As Control
'收集
For Each ct In Me.Controls
If Left(ct.Name, 7) = "Text1" Then col.Add ct
Next ct
'移除
For i = col.Count To 1 Step -1
MsgBox "下面刪除成員" & col.Item(i).Name
col.Remove i
Next i
End Sub
上面的代碼先將窗體上所有的TextBox加入到集合中,然後再刪除掉。Count屬性返回集合的成員數量,Remove方法後面的參數是集合成員的索引號。成員的索引號通常是按照加入的順序自然編號,從1開始,但可以在加入時使用Add方法的參數進行改變。Add方法的完整語法是:
object.Add item[, key][, before][, after]
item 必需的。任意類型的表達式,指定要添加到集合中的成員。
key 可選的。唯一字符串表達式,指定可以使用的鍵字符串,代替位置索引來訪問集合中的成員。
before/after 可選的。表達式,指定集合中的相對位置。
下面語句向集合增加一個對象Text1,並定義該成員的關鍵字為tx1。
col.Add Text1, "tx1"
然後,下面兩句都可以向集合中增加一個Text2,並把它放在成員Text1的前面。
col.Add Text2, , col.Count
col.Add Text2, , "tx1"
第一句中,因為只有一個成員,所以col.Count也是索引號
Collection除了收集之外也能將其實體化,接下來再看這下面這一例,
Option Explicit
Public form_count As Integer
Public a As New Collection
'在表單 (Form1) 中:
Private Sub Command2_Click()
If form_count = 0 Then form_count = 1
form_count = form_count + 1
a.Add New Form1, "form" & form_count
a("form" & form_count).Show
a("form" & form_count).Caption = "form" & form_count
End Sub
再看一例會更清楚,這是利用class來演示資料傳輸及收集。
Family
|
-------- > Childred ------ >child
Family class與 Child class的關係是一對多的關係。為了簡化class之間的關係,我們增加了一個Children class,Children類是Child
class的集合,因此 Family class與Children class直接關聯,形成一對一的關係。
簡單的講也就是Family class繼承了Childred class,而Childred class繼承了child class
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET