よろずやネット

最近はLibreofficeにハマっています。

クラスを利用してクラスを作成

前回、Hitoクラスを作成してみました。このHitoクラスを使用してあるプログラムを現在開発中とします。もう出来上がり直前です。
ところがある日、Hitoクラスに、「年齢」というメンバー変数が必要になったとします。
コードの中には至るところにHitoクラスを使用しています。でも、今まで書いたコードには触りたくない、どうしたら良いか?

その解決法が、「クラスを利用してクラスを作成」です。
Visual Basic .Net では Inherits (相続、受け継ぐ、後継、継承などの意味)という単語を利用して記述します。
正式な日本語では何と言うか知りません。

前回作成したHitoクラス
Public Class Hito
    Public Shicho As Single '身長
    Public Taijyu As Single '体重
End Class


Hitoクラスを拡張(?)して、年齢(Age)というメンバー変数を加えたHito2という新しいクラスを作成します。
Public Class Hito2
    Inherits Hito ' Inherits の後に継承元を指定します。
    Public Age As Integer ' 年齢
End Class

次にHito2クラスを利用してみましょう。

最初に変数宣言します。
Dim A As New Hito2

SharpDevelopでもVSと同じように、コード入力時に入力支援窓?みたいなものが表示されますが、
「A.」まで入力したところで、

イメージ 1

となり、Hito2で宣言したにもかかわらず、Hitoのメンバー変数も利用可能なことがわかります。

SharpDevelopのメニューバーにて
View > Classes とすると、作成したクラスの構造がわかります。

イメージ 2