共用方式為


將方法加入類別

更新:2007 年 11 月

在本課程中,您將學習如何加入方法至類別中,讓它能夠執行動作。

在先前的課程詳述:了解屬性、方法和事件。您在模型化真實物件:建立第一個類別課程中建立的 Persons 類別代表一個人。由於人可以執行許多動作,因此就 Persons 類別而言,這些動作可以表示為類別方法。

類別方法

類別方法只是在類別內所宣告的 Sub 或 Function 程序。例如,Account 類別可能會有稱為 Recalculate 的 Sub 程序,會更新餘額,或者有 CurrentBalanceFunction 程序可傳回最新的餘額。宣告這些方法的程式碼可能會如下所示:

Public Sub Recalculate()
    ' add code to recalculate the account.
End Sub
Public Function CurrentBalance(ByVal AccountNumber As Integer) As Double
    ' add code to return a balance.
End Function

雖然大部分類別方法是公用的,您也可能要加入只能由類別本身使用的方法。例如,Persons 類別本身可能就有計算一個人年紀的函式。如果將宣告函式為 Private,就不能從類別之外看見或呼叫。

私用函式的程式碼可能會如下所示:

Private Function CalcAge(ByVal year As Integer) As Integer
    CalcAge = My.Computer.Clock.LocalTime.Year - year
End Function

您可以在稍後變更計算 CalcAge 值的程式碼,而方法仍可正常運作,毋需變更使用該方法的任何程式碼。隱藏執行方法的程式碼稱為「封裝」(Encapsulation)。

在 Persons 類別中,您將建立傳回完整名稱的公用方法,以及計算年紀的私用函式。

試試看!

若要將方法加入至類別

  1. 開啟您在上一個課程中所建立的 Persons 專案。如果您並未儲存該專案,必須先回到上一個課程:將屬性加入類別,並完成課程中的程序。

  2. 選取 [方案總管] 中的 [Persons.vb],然後按一下 [檢視] 功能表中的 [程式碼]。

  3. 將以下程式碼加入至屬性程序中。

    Public Function FullName() As String
        If middleNameValue <> "" Then
            FullName = firstNameValue & " " & middleNameValue & " " _
                                      & lastNameValue
        Else
            FullName = firstNameValue & " " & lastNameValue
        End If
    End Function
    
    Private Function CalcAge(ByVal year As Integer) As Integer
        CalcAge = My.Computer.Clock.LocalTime.Year - year
    End Function
    
  4. 修改 Age 屬性程序中的程式碼,以便使用私用函式。

    ReadOnly Property Age() As String
        Get
            ' Age = My.Computer.Clock.LocalTime.Year - birthDateValue
            Age = CalcAge(birthYearValue)
        End Get
    End Property
    
  5. 按一下 [檔案] 功能表上的 [全部儲存],儲存您的工作。

後續步驟

在本課程中,您學會如何將公用和私用方法加入至類別。您可以在詳述:使用多載建立相同方法的多重版本中進一步了解方法,也可以繼續進行下一個課程,學習如何將事件加入至類別。

下一個課程:將事件加入類別

請參閱

工作

將屬性加入類別

其他資源

使用物件設計程式:使用類別