このチュートリアルでは、オブジェクトの作成に使用できるクラスを定義する方法について説明します。 また、新しいクラスにプロパティとメソッドを追加する方法と、オブジェクトを初期化する方法についても説明します。
注
次の手順では、一部の Visual Studio ユーザー インターフェイス要素の名前や場所がコンピューターに異なる場合があります。 これらの要素は、使用している Visual Studio エディションと使用する設定によって決まります。 詳細については、「IDEのカスタマイズ」を参照してください。
クラスを定義するには
[ファイル] メニューの [新しいプロジェクト] をクリックして、プロジェクトを作成します。 [新しいプロジェクト] ダイアログ ボックスが表示されます。
Visual Basic プロジェクト テンプレートの一覧から [Windows アプリケーション] を選択して、新しいプロジェクトを表示します。
[プロジェクト] メニューの [クラスの追加] をクリックして、新しいクラスをプロジェクトに追加します。 [新しい項目の追加] ダイアログ ボックスが表示されます。
クラス テンプレートを選択します。
新しいクラスに
UserNameInfo.vb名前を付け、[ 追加 ] をクリックして新しいクラスのコードを表示します。Public Class UserNameInfo End Class注
Visual Basic コード エディター を使用すると、
Classキーワードの後に新しいクラスの名前を入力して、スタートアップ フォームにクラスを追加できます。 コード エディターには、対応するEnd Classステートメントが用意されています。ClassステートメントとEnd Classステートメントの間に次のコードを追加して、クラスのプライベート フィールドを定義します。Private userNameValue As StringPrivateとしてフィールドを宣言することは、クラス内でのみ使用できることを意味します。 より多くのアクセスを提供する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 SubSub 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メソッドを呼び出したため、元のCapitalizeが "MOORE, BOBBY" であることを示すメッセージが表示されます。[ OK] を クリックしてメッセージ ボックスを閉じます。
Button1 Clickプロシージャは、UserNameプロパティの値を変更し、UserNameの新しい値が "Worden, Joe" であることを示すメッセージを表示します。
こちらも参照ください
.NET