VBのクラス(Class)について
Visual Basic(VB)における クラス(Class) とは、データ(プロパティ)と処理(メソッド)を1つにまとめて管理する仕組みです。オブジェクト指向プログラミングの中心となる概念で、現実世界のものをプログラム内に表現するために使います。
クラスの基本構文
クラスは Class 〜 End Class
のブロックで定義します。
Public Class Person
Public Name As String
Public Age As Integer
Public Sub SayHello()
MsgBox("こんにちは、" & Name & "です。")
End Sub
End Class
上記の例では、Person
クラスに Name
(名前)、Age
(年齢)のプロパティと、SayHello
というメソッドが含まれています。
クラスの利用方法(インスタンスの作成)
クラスを使用するには、Newキーワード を使ってインスタンス(実体)を作成します。
Dim p As New Person
p.Name = "佐藤"
p.Age = 25
p.SayHello()
このように、クラスから作られたオブジェクトを通じてデータや処理を利用できます。
コンストラクタ(初期化処理)
クラスを作成したときに初期値を与えるには、Sub New()
という特別なメソッド(コンストラクタ)を使います。
Public Class Product
Public Name As String
Public Price As Integer
Public Sub New(n As String, p As Integer)
Name = n
Price = p
End Sub
End Class
Dim item As New Product("ノートパソコン", 120000)
MsgBox item.Name & ":" & item.Price & "円"
プロパティ(Property)の活用
プロパティを使えば、値の読み書きを安全に行うことができます。
Private _price As Integer
Public Property Price() As Integer
Get
Return _price
End Get
Set(value As Integer)
If value >= 0 Then
_price = value
End If
End Set
End Property
このように、Set
で値のチェックができるため、データの保護にも役立ちます。
クラスと構造体の違い
項目 |
Class |
Structure |
型 |
参照型 |
値型 |
継承 |
可能 |
不可 |
使用目的 |
複雑な処理や機能を持つデータ構造 |
軽量でシンプルなデータ構造 |
データの扱い |
同じ参照先を共有 |
コピーして扱う |
クラスの主な用途
- ユーザーや商品の情報管理
- ゲームのキャラクターや敵の動作管理
- ウィンドウやフォームなどの画面制御
- データベースの1レコードを表現
まとめ
クラス(Class)は、データとその操作を1つにまとめて扱える強力な機能です。オブジェクト指向の考え方を取り入れることで、再利用性や拡張性に優れたプログラムが書けるようになります。まずは「現実の物や人」をVBで表現するところから始めてみましょう。