チュートリアル: クラスの定義 (Visual Basic)
このチュートリアルでは、クラスを定義する方法について説明します。このクラスを使用してオブジェクトを作成できます。 また、新しいクラスにプロパティとメソッドを追加する方法と、オブジェクトを初期化する方法についても説明します。
注意
次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「IDE をカスタマイズする」をご覧ください。
クラスを定義するには
[ファイル] メニューの [新しいプロジェクト] をクリックして、プロジェクトを作成します。 [新しいプロジェクト] ダイアログ ボックスが表示されます。
Visual Basic プロジェクト テンプレートの一覧から [Windows アプリケーション] を選択して、新しいプロジェクトを表示します。
[プロジェクト] メニューの [クラスの追加] をクリックして、プロジェクトに新しいクラスを追加します。 [新しい項目の追加] ダイアログ ボックスが表示されます。
[クラス] テンプレートを選択します。
新しいクラスに
UserNameInfo.vb
という名前を指定し、 [追加] をクリックして新しいクラスのコードを表示します。Public Class UserNameInfo End Class
Note
Visual Basic コード エディターを使用すると、
Class
キーワードに続けて新しいクラスの名前を入力することで、クラスをスタートアップ フォームに追加できます。 コードエディターには、対応するEnd Class
ステートメントが用意されています。Class
ステートメントとEnd Class
ステートメントの間に次のコードを追加して、クラスのプライベート フィールドを定義します。Private userNameValue As String
フィールドを
Private
として宣言すると、そのクラス内でのみ使用できます。 より多くのアクセスを提供するPublic
などのアクセス修飾子を使用すると、クラスの外部からフィールドを使用できるようにすることができます。 詳しくは、「Visual Basic でのアクセス レベル」を参照してください。次のコードを追加して、クラスのプロパティを定義します。
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
次のコードを追加して、クラスのメソッドを定義します。
Public Sub Capitalize() ' Capitalize the value of the property. userNameValue = UCase(userNameValue) End Sub
Sub New
という名前のプロシージャを追加して、新しいクラスのパラメーター化されたコンストラクターを定義します。Public Sub New(ByVal UserName As String) ' Set the property value. Me.UserName = UserName End Sub
このクラスに基づくオブジェクトが作成されると、
Sub New
コンストラクターが自動的に呼び出されます。 このコンストラクターは、ユーザー名を保持するフィールドの値を設定します。
クラスをテストするボタンを作成するには
ソリューション エクスプローラーで名前を右クリックし、 [ビュー デザイナー] をクリックして、スタートアップ フォームをデザイン モードに変更します。 既定では、Windows アプリケーション プロジェクトのスタートアップ フォームには、Form1.vb という名前が付けられています。 メイン フォームが表示されます。
メイン フォームにボタンを追加し、それをダブルクリックして、
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)
アプリケーションを実行するには
F5 キーを押してアプリケーションを実行します。 フォーム上のボタンをクリックして、テスト プロシージャを呼び出します。 元の
UserName
が "MOORE, BOBBY" であることを示すメッセージが表示されます。これは、プロシージャがオブジェクトのCapitalize
メソッドを呼び出したためです。[OK] をクリックしてメッセージ ボックスを閉じます。
Button1 Click
プロシージャによってUserName
プロパティの値が変更され、UserName
の新しい値が "Worden, Joe" であることを示すメッセージが表示されます。
関連項目
.NET