一.類的定義<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
對於我們初學者來說,編程就是把控件從工具箱拖動到窗體上,然而要想提高編程技能,現在開始必須引入面向對象編程的概念,讓我們首先從掌握類開始。簡單的說,“類”就是對象的表示形式,一個類可以用於創建對象的多個副本。
儘管我們沒有在代碼中編寫過類,但實際上我們已經在使用類了。例如,當我們將一個 TextBox 控件拖動到窗體上時,實際上就是在創建 TextBox 類的一個新“實例”。由於每個對象都是類的一個單獨的“實例”,所以創建類的操作就稱爲“實例化”。我們可以從“工具箱”中拖動 TextBox 控件將它們添加到了窗體中,不過我們也可以通過使用 New 關鍵字,在代碼中聲明 TextBox 對象來實例化該對象,代碼如下:
Dim Textbox1 As New TextBox
二.類中有什麼
所有對象都具有描述其特性的屬性、定義其操作的方法以及定義其響應的事件。同樣,定義一個對象的類也具有它自己的屬性、方法和事件(有時也稱爲“成員”),它們都將傳遞給該類的所有實例。
例如,一個表示銀行帳號的類可能具有 AccountNumber(儲戶姓名) 或 AccountBalance(帳戶餘額) 屬性、CalculateInterest(計算利息)方法以及BalanceChanged(餘額變化) 事件。一旦將一個銀行帳號對象實例化,就可以訪問它的屬性、方法和事件。
類中的有些成員是私有的,只有該類中的代碼可以訪問它們。例如,一個銀行帳號類可能具有一個計算餘額的方法。您可能允許某一程序讀取餘額,但是卻不希望這個程序直接更改餘額。可以通過將類中的成員聲明爲 Private 將其隱藏,或者通過將其聲明爲 Public 公開它們。還可以通過將它聲明爲 ReadOnly,以允許程序訪問某一屬性,但防止程序更改其值。下面的代碼顯示了 BankAccount 類可能是什麼樣子。
Class BankAccount
Private AccountNumber As String
Private AccountBalance As Decimal
Public Sub UpdateBalance()
' add code to recalculate balance.
End Sub
ReadOnly Property Balance() As Decimal
Get
Return AccountBalance
End Get
End Property
End Class