私は、シロウトの我流でしたので、クラスという概念があることを長い期間知らないままでした。
クラスを始めて知った時には「目からウロコ」でした。
Visual Basic (VB) 初心者の方にはとっつきにくい概念だと思いますので、ちょっと解説します。
Visual Basic .Netで扱うすべてのデータには「型」があり、使用前に宣言をしなければなりません。
SharpDevelopのヘルプブラウザで、Net Framework 2.0 SDKの下記ヘルプを表示すると、いろいろなデータ型が一覧表になって出てきます。
ms-help://ms.netframework.v20.en/dv_vbalr/html/e975cdb6-64d8-4a4a-ae27-f3b3ed198ae0.htm
しかし、この基本的な型だけでは、プログラムを書いていくに当って、面倒になることがあります。
例えば、Aさん、Bさん、Cさん、Dさん、Eさんの5人の身長と体重の組み合わせを扱う場合、
Dim A_Shincho As Single = 165
Dim A_Taijyu As Single =50
Dim B_Shincho As Single = 170
Dim B_Taijyu As Single = 60
Dim C_Shincho As Single = 175
Dim C_Taijyu As Single = 65
Dim D_Shincho As Single = 180
Dim D_Taijyu As Single = 70
Dim E_Shincho As Single = 180
Dim E_Taijyu As Single = 65
と10個の変数を宣言しなければなりません。そして見た目にもすっきりしません。
上記の場合、身長と体重はセットで使われますので、「人」型のような変数あれば便利になります。
それがクラスという概念です。
それでは、実際にクラスを作っていきましょう。クラス名は人(Hito)にします。
SharpDevelopのメニューバーにて、
File > New > File
出てきたダイアログにて、
左側のCategoriesはVB
右側のTemplatesはClass
を選択して、適当なファイル名を入力して、Createを押す。
新規にできたファイルを開いて以下を記述する。
Public Class Hito
Public Shicho As Single 'Hitoの身長を扱います。
Public Taijyu As Single 'Hitoの体重を扱います。
End Class
これだけで「人」型のような変数の定義が出来上がりました。
実際に使ってみましょう。
'まず、変数宣言です。
Dim A As New Hito
Dim B As New Hito
Dim C As New Hito
Dim D As New Hito
Dim E As New Hito
'そして、変数に値の代入(初期化)です。
With A
.Shincho=165
.Taijyu=50
End With
With B
.Shincho=170
.Taijyu=60
End With
With C
.Shincho=175
.Taijyu=65
End With
With D
.Shincho=180
.Taijyu=70
End With
With E
.Shincho=180
.Taijyu=65
End With
'ずいぶんスッキリしました。
'値の取得は、
MessageBox.Show(A.Shincho.ToString)
'のような感じです。