次の方法で共有


チュートリアル: クラスの定義 (Visual Basic)

このチュートリアルでは、オブジェクトの作成に使用できるクラスを定義する方法について説明します。 また、新しいクラスにプロパティとメソッドを追加する方法と、オブジェクトを初期化する方法についても説明します。

次の手順では、一部の Visual Studio ユーザー インターフェイス要素の名前や場所がコンピューターに異なる場合があります。 これらの要素は、使用している Visual Studio エディションと使用する設定によって決まります。 詳細については、「IDEのカスタマイズ」を参照してください。

クラスを定義するには

  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 キーを押してアプリケーションを実行します。 フォームのボタンをクリックして、テスト プロシージャを呼び出します。 このプロシージャはオブジェクトの Capitalize メソッドを呼び出したため、元のUserNameが "MOORE, BOBBY" であることを示すメッセージが表示されます。

  2. [ OK] を クリックしてメッセージ ボックスを閉じます。 Button1 Click プロシージャは、UserName プロパティの値を変更し、UserNameの新しい値が "Worden, Joe" であることを示すメッセージを表示します。

こちらも参照ください