共用方式為


逐步解說:定義類別 (Visual Basic)

這個逐步解說會示範如何定義類別,然後您就可從類別來建立物件。 同時也顯示如何將屬性和方法加入至新類別,並示範如何初始化物件。

注意事項注意事項

您的電腦對於下列指示中某些 Visual Studio 使用者介面項目的名稱或位置,可能會顯示不同的資訊:您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。如需詳細資訊,請參閱<Visual Studio 中的自訂開發設定>。

若要定義類別

  1. 按一下 [檔案] 功能表上的 [新增專案] 來建立專案。 [新增專案] 對話方塊隨即出現。

  2. 從 Visual Basic 專案範本清單中選取 [Windows 應用程式],以顯示新的專案。

  3. 按一下 [專案] 功能表中的 [加入類別],在專案中加入一個新的類別。 [加入新項目] 對話方塊隨即出現。

  4. 選取 [類別] 範本。

  5. 將新的類別命名為 UserNameInfo.vb,然後按一下 [加入] 以顯示新類別的程式碼。

    Public Class UserNameInfo
    End Class
    
    注意事項注意事項

    您可以使用 Visual Basic 的 [程式碼編輯器],在新類別的名稱之前輸入 Class 關鍵字,將類別加入至啟動表單中。[程式碼編輯器] 會自動提供對應的 End Class 陳述式。

  6. 將下列程式碼加入到 Class 和 End Class 陳述式之間,以定義類別的私用欄位:

    Private userNameValue As String
    

    將欄位宣告為 Private,表示只能在該類別內使用它。 您可以使用存取修飾詞 (例如 Public),提供範圍更廣的存取,使這些欄位變成可以從此類別的外部使用。 如需詳細資訊,請參閱 Visual Basic 中的存取層級

  7. 加入下列程式碼以定義類別的屬性:

    Public Property UserName() As String 
        Get 
            ' Gets the property value. 
            Return userNameValue
        End Get 
        Set(ByVal Value As String)
            ' Sets the property value.
            userNameValue = Value
        End Set 
    End Property
    
  8. 加入下列程式碼以定義類別的方法:

    Public Sub Capitalize()
        ' Capitalize the value of the property.
        userNameValue = UCase(userNameValue)
    End Sub
    
  9. 加入名為 Sub New 的程序,以定義新類別的參數化建構函式:

    Public Sub New(ByVal UserName As String)
        ' Set the property value. 
        Me.UserName = UserName
    End Sub
    

    在建立以此類別為基礎的物件時,會自動呼叫 Sub New 建構函式。 這個建構函式會設定保存使用者名稱的欄位值。

若要建立一個按鈕來測試類別

  1. 以滑鼠右鍵按一下 [方案總管] 中的啟動表單名稱,再按一下 [設計工具檢視],將此表單變更為設計模式。 根據預設,Windows 應用程式專案的啟動表單名稱為 Form1.vb。 然後,主要表單隨即出現。

  2. 在主表單中加入一個按鈕,並按兩下此按鈕,以顯示 Button1_Click 事件處理常式的程式碼。 加入下列程式碼以呼叫測試程序:

    ' Create an instance of the class. 
    Dim user As New UserNameInfo("Moore, Bobby")
    ' Capitalize the value of the property.
    user.Capitalize()
    ' Display the value of the property.
    MsgBox("The original UserName is: " & user.UserName)
    ' Change the value of the property.
    user.UserName = "Worden, Joe" 
    ' Redisplay the value of the property.
    MsgBox("The new UserName is: " & user.UserName)
    

若要執行您的應用程式

  1. 按 F5 鍵以執行您的應用程式。 在表單上按一下按鈕以呼叫測試程序。 它會顯示一則訊息,說明原始的 UserName 是 "MOORE, BOBBY",因為程序呼叫了物件的 Capitalize 方法。

  2. 按一下 [確定] 來解除訊息方塊。 Button1 Click 程序會變更 UserName 屬性值,並顯示一則訊息,表示 UserName 的新值是 "Worden, Joe"。

請參閱

概念

物件導向程式設計 (C# 與 Visual Basic)

其他資源

Visual Basic 中的物件和類別