基礎講座之類呢
在本節中,我們來實踐一下。首先創建一個COM對象,然后使用它,最后再想法改進。
首先進行下面兩步:
運行Visual Basic;選擇 \"Standard EXE\"工程類型;由于COM對象是基于類的,而類實際上是程序包,就像模塊中的代碼一樣。所以:
選擇\"Project\"-\"Add Class Module\";當相應的對話框出現后,選擇\"\'Class Module\",然后單擊\"Open\"按鈕。
這樣,在桌面上顯示一個表單,以及包含在工程Project1中的Class1。
下面再將空的類的類名更改:
在類的屬性窗口中,將類的Name屬性改成CDog。
需要說明的是,為了區別起見,每個對象名的前面都有相應的前綴,例如Text Box對象前是\"txt\"、Form前是\"frm\"、類前可以大寫字母\"C\"或小寫字母\"cls\",但這里使用前者。
下面我們添加一些代碼來測試一下:
在CDog類通用聲明部分中,添加變量的聲明:
Public Name As String
然后,打開Form1;
在表單中添加一個命令按鈕;
打開代碼窗口,為該命令按鈕添加下列代碼:
Dim MyDog As CDog
Set MyDog = New CDog
= \"Billy Moore\"
MsgBox
Set MyDog = Nothing
下面就來解釋上述代碼的含義:
Dim MyDog As CDog
該行語句是用來通知Visual Basic為CDog對象設置一個位空間,但這時還不能使用該對象,必須等到下條語句為止:
Set MyDog = New CDog
它是用來創建CDog的實例。這就意味著前面空的MyDog模板變成了現在可以使用的CDog對象。
= \"Billy Moore\"
MsgBox
上述代碼的第一行是用來設置MyDog的Name變量,同時第二行語句是用來將該變量的內容顯示在消息對話框中。最后:
Set MyDog = Nothing
用來將MyDog對象簡單的置空。
按F5鍵運行并測試。
怎么樣?但同時,我們可能不禁要問,標準模塊和類模塊究竟有什么不同?我們再來看看下面的示例:
將命令按鈕的代碼變成:
Dim MyDog As CDog
Set MyDog = New CDog
Dim MyDog2 As CDog
Set MyDog2 = New CDog
= \"Billy Moore\"
MsgBox
= \"Sadie Moore\"
MsgBox
Set MyDog = Nothing
Set MyDog2 = Nothing
與最前面的代碼不同的是,這里的代碼實際上是定義兩個對象MyDog和MyDog2,這兩個對象是基于CDog的相互獨立的兩個對象。
按F5鍵運行并測試。
結果怎樣?這一次是不是有兩個對話框出現?一個顯示\"Billy Moore\",另一個顯示\"Sadie Moore\"。
上述定義的每個對象中除了Name外,沒有任何實際的屬性,因此下面過程就來添加:
打開前面的Class1;
聲明下面的公共變量:
Public Age As Integer
打開前面的Form1;
將命令按鈕的代碼變成:
Dim MyDog As CDog
Set MyDog = New CDog
Dim MyDog2 As CDog
Set MyDog2 = New CDog
= \"Billy Moore\"
e = 4
MsgBox \" is \" e \" years old\"
= \"Sadie Moore\"
e = 7
MsgBox \" is \" e \" years old\"
Set MyDog = Nothing
Set MyDog2 = Nothing
這些代碼和前面差不多,只不過這里使用了Age變量。
按F5鍵運行并測試。
應該出現顯示name和age內容的兩個消息對話框。
現在再試著將其中一個對象的age值設置成1,000或者30,000。看看結果如何?程序照樣正常運行,這是因為定義的整型變量最大值可達32,767,但是實際中的狗(Dog)是不會有30,000歲的。
那么,這種情況應該怎樣處理呢?
內幕交易案件12起 查看本文來源
南寧盆腔炎治療費用哪個品牌補氣不流失
湖州白癜風哪里治療好