共用方式為


測試類別

更新:2007 年 11 月

在本課程中,您將學習如何建立類別的執行個體,以便測試類別。

在前面的幾個課程中,您建立了一個 Persons 類別,並指定屬性、方法和事件。到目前為止,您所完成的作業是加入程式碼。現在該使用 Persons 類別,並確定它是否如預期般運作了。

建立類別的執行個體

雖然您可能不知道,不過您已經在先前的課程中使用過許多類別了。表單和控制項其實都是類別。當您將 [Button] 控制項拖曳到表單上,其實就是建立了 Button 類別的執行個體。

您也可以使用 New 關鍵字進行宣告,將程式碼中的任何類別具現化。例如,若要建立 Button 類別的新執行個體,您就要加入下列程式碼。

Dim aButton As New Button

若要使用及測試 Persons 類別,必須先建立測試專案,並加入類別模組的參考。

試試看!

若要建立類別的測試專案

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

  2. 指向 [檔案] 功能表上的 [加入],然後按一下 [新增專案]。

  3. 在 [新增專案] 對話方塊的 [範本] 窗格中,按一下 [Windows Form 應用程式]。

  4. 在 [名稱] 方塊中,輸入 PersonsTest,再按 [確定]。

    新的 Windows Form 專案隨即加入至 [方案總管],並且出現新的表單。

  5. 選取 [方案總管] 中的 PersonsTest 專案,然後按一下 [專案] 功能表上的 [設定為啟始專案]。

  6. 選取 [方案總管] 中的 PersonsTest 專案,然後按一下 [專案] 功能表上的 [加入參考]。

    [加入參考] 對話方塊隨即出現。

  7. 按一下 [專案] 索引標籤,然後選取 [Persons],再按一下 [確定]。

  8. 按兩下表單以開啟 [程式碼編輯器],然後在程式行 Public Class Form1 之下輸入下列宣告。

    Dim person1 As New Persons.Persons
    

    這麼做會宣告一個 Persons 類別的新執行個體。您可能會覺得奇怪,為什麼要輸入 Persons 兩次?這是因為,第一個執行個體是 Persons.vb 類別模組,而第二個執行個體是該模組內的 Persons 類別。

  9. 在 [檔案] 功能表上,按一下 [全部儲存]。

測試類別

下一個步驟是加入使用者介面和使用 Persons 類別的程式碼。您將會加入使用者可輸入各屬性值 (但唯讀 Age 屬性除外) 的文字方塊、Married 欄位的核取方塊,以及可測試各項公用方法的按鈕。

試試看!

若要測試類別

  1. 在 [方案總管] 中選取 [Form1],然後按一下 [檢視] 功能表中的 [設計工具]。

  2. 從 [工具箱] 將四個 TextBox 控制項、一個 CheckBox 控制項,以及兩個 Button 控制項拖曳到表單上。

  3. 選取第一個 Button 控制項,然後在 [屬性] 視窗中將其 [Text] 屬性設定為 Update。

  4. 選取第二個 Button 控制項,然後在 [屬性] 視窗中將其 [Text] 屬性設定為 Full Name。

  5. 按兩下第一個按鈕 ([Update]),開啟 [程式碼編輯器],然後在 Button1_Click 事件處理常式中,加入以下程式碼。

    With person1
        .FirstName = Textbox1.Text
        .MiddleName = Textbox2.Text
        .LastName = Textbox3.Text
        .BirthYear = Textbox4.Text
        .Married = CheckBox1.Checked
    End With
    

    請注意,當您輸入時,會顯示一份清單內含 Persons 類別的成員。由於它是加入做為參考,所以 IntelliSense 會顯示關於類別的資訊,就像其他任何類別一樣。

  6. 在 Button2_Click 事件處理常式中加入以下程式碼。

    ' Test the FullName method.
    MsgBox(person1.FullName)
    
    ' test the Age property and CalcAge method.
    MsgBox(CStr(person1.Age) & " years old")
    
    ' Test the Married property.
    If person1.Married = True Then
        MsgBox(person1.FirstName & " is married")
    Else
        MsgBox(person1.FirstName & " is single")
    End If
    
  7. 按下 F5 執行專案,並顯示表單。

    1. 在第一個文字方塊中,輸入您的名字。

    2. 在第二個文字方塊中,輸入您的中間名。

    3. 在第三個文字方塊中,輸入您的姓氏。

    4. 在第四個文字方塊中,輸入您的出生年份四位數字 (例如,1983)。

    5. 如果您已婚,請選取此核取方塊。

  8. 按一下 [Update] 按鈕,設定類別的屬性,然後再按一下 [Full Name] 按鈕。

    隨即顯示三個訊息方塊。這些訊息方塊會顯示您的全名、年齡和婚姻狀態。

  9. 在 [檔案] 功能表上,按一下 [全部儲存]。

測試多載方法

如果您已完成選擇性課程:詳述:使用多載建立相同方法的多重版本,就會想要測試加入至 Persons 類別的多載方法。如果您並未完成該課程,可以立即返回完成課程,也可以略過以下程序。

試試看!

若要測試多載方法

  1. 選取 [方案總管] 中的 [Form1],然後按一下 [檢視] 功能表上的 [設計工具]。

  2. 從 [工具箱] 中,再多將兩個 Button 控制項拖曳到表單上。

  3. 選取第三個 Button 控制項,然後在 [屬性] 視窗中將其 Text 屬性設定為 With。

  4. 選取第四個 Button 控制項,然後在 [屬性] 視窗中將其 Text 屬性設定為 Without。

  5. 按兩下第一個按鈕 ([With]),開啟 [程式碼編輯器],然後在 Button3_Click 事件處理常式中,輸入以下程式碼。

    MsgBox(person1.FirstName & " " & person1.MiddleInitial(True) & _
                               " " & person1.LastName)
    

    請注意,當您輸入時,會顯示一份清單內含 Persons 類別的所有成員。由於它是加入做為參考,所以 IntelliSense 會顯示關於類別的資訊,就像其他任何類別一樣。

  6. 在 Button4_Click 事件處理常式中加入以下程式碼。

    MsgBox(person1.FirstName & " " & person1.MiddleInitial & _
                               " " & person1.LastName)
    
  7. 按下 F5 執行專案,並顯示表單。

    1. 在第一個文字方塊中,輸入您的名字。

    2. 在第二個文字方塊中,輸入您的中間名。

    3. 在第三個文字方塊中,輸入您的姓氏。

    4. 在第四個文字方塊中,輸入您的出生年份四位數字 (例如,1983)。

    5. 如果您已婚,請選取此核取方塊。

  8. 按一下 [Update] 按鈕,設定類別的屬性,然後再按一下 [With] 按鈕。

    訊息方塊隨即出現,顯示您的名字,並且在中間名縮寫後加上一個句點。

  9. 按一下 [Without] 按鈕。

    訊息方塊隨即出現,顯示您的名字,並且中間名縮寫後沒有句點。

  10. 在 [檔案] 功能表上,按一下 [全部儲存]。

測試事件處理常式

如果您已完成選擇性課程詳述:處理事件,請測試加入至 Persons 類別的事件處理常式。如果您並未完成該課程,可以返回並完成,或者略過下面的程序。

試試看!

若要測試事件處理常式

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

  2. 將 WithEvents 陳述式加入至 person1 宣告之前,如下列程式碼所示:

    WithEvents person1 As New Persons.Persons
    
  3. 將下列程序加入至 Form1。這個程式碼會檢查計算年齡,並根據結果顯示訊息。

    Private Sub person1_AgeCalculated(ByVal Age As Integer) _
        Handles person1.AgeCalculated
    
        If Age > 18 Then
            MsgBox("You have been over 18 for " & Age - 18 _
                & " years.")
        Else
            MsgBox("You will be 18 in " & 18 - Age & " years")
        End If
    
    End Sub
    
  4. 按下 F5 執行專案,並顯示表單。

    1. 在第一個文字方塊中,輸入您的名字。

    2. 在第二個文字方塊中,輸入您的中間名。

    3. 在第三個文字方塊中,輸入您的姓氏。

    4. 在第四個文字方塊中,輸入您的出生年份四位數字 (例如,1983)。

    5. 如果您已婚,請選取此核取方塊。

  5. 按一下 [Update] 按鈕,設定類別的屬性,然後再按一下 [Full Name] 按鈕。

    訊息方塊會顯示您的全名。如果您已超過 18 歲,另一個訊息方塊就會顯示已超過 18 歲多久資訊。如果您未滿 18 歲,則訊息方塊會顯示還有多久您才滿 18 歲。然後就會有另一個訊息方塊顯示您的年齡。

  6. 在 [檔案] 功能表上,按一下 [全部儲存]。

後續步驟

在本課程中,您學會如何建立測試專案,並使用它測試類別的屬性、方法和事件。在下一個課程中,您將學習如何使用繼承,根據現有類別建立類別。

下一個課程:從現有的類別建置類別:使用繼承

請參閱

工作

將方法加入類別

詳述:使用多載建立相同方法的多重版本