大家好,今天繼續講解類和類模塊應用,今日講解第3講内容:過程(Sub)、函數(Function)、集合(Collection)對象的作用範圍域。
一 過程(Sub)、函數(Function)也有作用範圍(或者叫作用域)。
我們可以這樣理解,過程和函數并無實質的區别,當需要返回值時,就使用Function,如果不需要返回任何結果,都可以,推薦你使用Sub。
在标準模塊中通過使用Private和Public關鍵字,可以劃分為模塊級和全局級,以決定它是在當前的模塊有效還是整個工程有效。盡可能不要在類中定義Public方式的變量;
二 在類模塊中,對作用域的理解:
1 類是對象的靈魂,是生成對象的模具,每生成一個對象,相當于産生了一個類的副本,這個副本就是對象的"肉身",副本間是相互獨立的,從而,模塊級的變量隻作用于副本自身。
2 類模塊中使用Public關鍵字,隻有當引用對象變量是這個類的實例時,才能被訪問。
3 類中不能定義Public方式的結構(Type),如果必需要這麼做的話,可以使用一個類來代替Type.
三 集合Collection,自定義對象範圍的應用。
Collection是我們在使用類時最常用到的對象。一個Collection對象代表一組相關的項目,其實它的成員并不被強制要求是同一類型。建立集合的方法和建立其它對象一樣,如:Dim mycol As New Collection集合建立.可以使用Add方法添加成員,用Remove方法删除成員,用Item方法從集合中返回特定成員。這有點類似于字典。
Private Sub CommandButton1_Click()
Dim mycol As New Collection
Dim i%
Dim myct As Control
For Each myct In Me.Controls
mycol.Add myct
MsgBox "下面添加成員" & myct.Name
Next
For i = mycol.Count To 1 Step -1
If Left(mycol.Item(i).Name, 7) = "TextBox" Then
MsgBox "下面删除成員" & mycol.Item(i).Name
mycol.Remove i
end if
Next i
End Sub
上面的代碼先将窗體上所有的控件加入到集合中,然後删除掉TEXT控件。Count屬性返回集合的成員數量,Remove方法後面的參數是集合成員的索引号。成員的索引号通常是按照加入的順序自然編号,從1開始,但可以在加入時使用Add方法的參數進行改變。
Add方法的完整語法是:
object.Add item[, key][, before][, after]
item 必需的。任意類型的表達式,指定要添加到集合中的成員。
key 可選擇。唯一字符串表達式,指定可以使用的鍵字符串,代替位置索引來訪問集合中的成員。
before/after 可選擇。表達式,指定集合中的相對位置。
如下面語句向集合增加一個對象TextBox1,并定義該成員的關鍵字為tx1:
col.Add TextBox1, "tx1"
增加一個對象TextBox2,并把它放在成員TextBox1的前面:
col.Add TextBox2, , "tx1"
下面看我們今天的代碼測試:
運行:
今日内容回向:
1 SUB 和function有什麼不同?
2 什麼是集合?
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!