tft每日頭條

 > 生活

 > 函數模闆和類模闆的參數

函數模闆和類模闆的參數

生活 更新时间:2024-11-24 22:54:30

大家好,今天繼續講解類和類模塊應用,今日講解第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"

下面看我們今天的代碼測試:

函數模闆和類模闆的參數(過程Sub)1

運行:

函數模闆和類模闆的參數(過程Sub)2

函數模闆和類模闆的參數(過程Sub)3

今日内容回向:

1 SUB 和function有什麼不同?

2 什麼是集合?

函數模闆和類模闆的參數(過程Sub)4

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved