プロパティを使ったプログラムを作成しよう
今回は、プロパティ(Property)を使ったプログラムを作成しましょう。
プロパティは、オブジェクト指向プログラミングのカプセル化を実現するための仕組みで、クラス内のフィールド領域で宣言し、クラス外と値の受け渡しを行います。
本記事で作成するプログラムの環境は、以下の通りです。
本記事で使用する開発環境
- IDE(統合開発環境)は、Visual Studio Community 2022 を使用します。
- 開発言語は、Visual Basic を使用します。
- フレームワークは、.NET Framework 4.8 を使用します。
プロパティの詳しい内容は、以下のマイクロソフトの公式サイトを参照してください。
プロパティの使い方
プロパティの記述方法は、以下のようになります。
プロパティの外にPrivateでプロパティで使用する変数を宣言し、プロパティの中にGetプロシージャとSetプロシージャを記載します
1 2 3 4 5 6 7 8 9 |
Private _Sample As Integer Property Sample As Integer Set(value As Integer) _Sample = value End Set Get Return _Sample End Get End Property |
また、Visual Basicには、プロパティの自動実装機能があり、上記のコードを1行で書くことができます。
1 |
Property Sample As Integer |
プロパティを使ったプログラム
プロパティを使った簡単なプログラムは、以下のようになります。
Memberクラスにプロパティを定義します。
Setプロシージャに渡された値が、Nothingか1文字だった場合は、そのまま値を設定します。
値が1文字以上だった場合は、先頭の1文字を設定します。
また、プロパティの値がNothingだった場合は、「白」を設定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Public Class Member Private _Color As String Property Color As String Set(value As String) If IsNothing(value) OrElse value.Length = 1 Then _Color = value Else _Color = value.Substring(0, 1) End If End Set Get If IsNothing(_Color) Then _Color = "白" End If Return _Color End Get End Property End Class |
モジュール内でMemberクラスをインスタンス化して、最初はプロパティの値は未設定とし、その後「黒」→「黄色」→「Nothing」を設定します。
コンソールに表示される値は、「白」→「黒」→「黄」→「白」となります。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Module Main Sub Main() Dim mem As New Member() Console.WriteLine(mem.Color) mem.Color = "黒" Console.WriteLine(mem.Color) mem.Color = "黄色" Console.WriteLine(mem.Color) mem.Color = Nothing Console.WriteLine(mem.Color) End Sub End Module |
プログラムの実行結果は、以下のようになります。