VB.NETのクラスとは?基本構文と作り方を初心者向けに解説
生徒
「先生、VB.NETでクラスってよく聞きますけど、何ですか?」
先生
「クラスは、プログラムの設計図のようなものです。オブジェクト指向の考え方で、データと処理をまとめて扱えるようにするためのものです。」
生徒
「設計図って、具体的にはどういう意味ですか?」
先生
「例えば、家を建てるときに設計図がありますよね。それと同じで、クラスはプログラムの中で作るオブジェクトの設計図です。設計図を使って、同じ構造のオブジェクトを何度でも作ることができます。」
生徒
「なるほど、オブジェクトを作る元になるのがクラスなんですね!」
先生
「そうです。それでは、基本的な作り方を見ていきましょう。」
1. VB.NETのクラスとは
VB.NETのクラスは、データ(変数)と処理(メソッド)をまとめて管理できるプログラムの設計図です。クラスを使うと、同じ処理を何度も書かなくても済み、プログラムの構造を整理しやすくなります。
クラスはオブジェクト指向プログラミングの基本概念であり、オブジェクトとはクラスを元に作られた実体のことです。オブジェクトを使うことで、データと処理を一体化して扱うことができ、プログラムの可読性や保守性が向上します。
2. クラスの基本構文
VB.NETでクラスを作るには、Classキーワードを使います。クラスの中には、変数(フィールド)、プロパティ、メソッドを定義できます。基本的な構文は次の通りです。
Public Class Person
' フィールド(データ)
Public Name As String
Public Age As Integer
' メソッド(処理)
Public Sub ShowInfo()
Console.WriteLine("名前: " & Name & ", 年齢: " & Age)
End Sub
End Class
この例では、Personというクラスを作っています。NameとAgeというデータを持ち、ShowInfoという処理を持っています。
3. クラスからオブジェクトを作る
クラスを使うには、まずオブジェクトを作る必要があります。オブジェクトとはクラスの実体で、クラスで定義した変数やメソッドを使えるようになります。
Dim person1 As New Person()
person1.Name = "太郎"
person1.Age = 25
person1.ShowInfo()
名前: 太郎, 年齢: 25
このように、Newキーワードを使ってPersonクラスからperson1オブジェクトを作り、データを設定してメソッドを呼び出すことができます。
4. プロパティでデータを管理する
クラスのデータは、直接変数にアクセスすることもできますが、プロパティを使うとより安全に管理できます。プロパティは、データの読み書きを制御するための仕組みです。
Public Class Person
Private _name As String
' プロパティ
Public Property Name() As String
Get
Return _name
End Get
Set(value As String)
_name = value
End Set
End Property
End Class
プロパティを使うことで、外部からデータを安全に操作でき、必要に応じて入力値のチェックなども追加できます。
5. クラス設計の基本的な考え方
初心者がクラスを設計する際のポイントは次の通りです。
- 一つのクラスは一つの役割だけ持つ
- データと処理をまとめる
- 再利用できる設計にする
- フィールドは可能な限りPrivateにして、プロパティで操作する
これらのポイントを守ると、プログラム全体の構造が整理され、後から修正や機能追加がしやすくなります。
6. クラスを使った簡単な例
最後に、クラスとオブジェクトを使った簡単なプログラム例を示します。
Public Class Person
Public Property Name As String
Public Property Age As Integer
Public Sub ShowInfo()
Console.WriteLine("名前: " & Name & ", 年齢: " & Age)
End Sub
End Class
Module Module1
Sub Main()
Dim person1 As New Person()
person1.Name = "花子"
person1.Age = 30
person1.ShowInfo()
End Sub
End Module
名前: 花子, 年齢: 30
このように、クラスを使うことでデータと処理をまとめ、簡単にオブジェクトを作って操作することができます。