よろずやネット

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

クラスにメソッドを追加する(値を返すファンクション)

Dim MyString As String="abc"
MyString=MyString.ToUpper()

とすれば、MyStringに「ABC」が代入されます。
この場合、
.ToUpper()
が、クラスStringのメソッドになります。

前回のコンストラクタも特別なメソッドですが、それ以外のメソッドを追加してみます。
クラスのメソッドとは、何も特別なことを書くのではなく、クラス内にSub や Function を書くだけです。

http://www.maruni-c.co.jp/oide_know_13_3_5.htm
に標準体重の求め方が出ていましたので、標準体重を返すメソッドを作ってみましょう。

自分の身長(m)×自分の身長(m)×22が標準体重とのことですので、
値を返すFunctionをクラスの中に記述します。
メソッドの名前は、何でもよいのですが、ここでは、GetStandardWeight とします。


Public Class Hito2

    Inherits Hito
    Public Age As Integer

    Public Sub New(身長 As Single, 体重 As Single, 年齢 As Integer)
        Me.Shicho=身長
        Me.Taijyu=体重
        Me.Age=年齢
    End Sub

    ' ***** ここからがメソッドの記述 *****
    ' 前回までの例では身長の単位は「cm」と暗黙の了解事項のように進めてきましたので、
    ' (Shicho/100)として「m」単位に変換しています。
    Public Function GetStandardWeight As Single
        Return (Shicho/100)*(Shicho/100)*22
    End Function

End Class

早速使ってみましょう。

Dim A As New Hito2(170, 50, 25)
Dim Aの標準体重 as Single
Aの標準体重=A.GetStandardWeight()

こんな感じです。
(クラスのメソッドには()を末尾に付けるようです)



SharpDevelopでは、コード入力時に下記のような入力支援が出てきます。

イメージ 1