vb.netでのクラスの使い方
■vb.netでのクラスの使い方
Public Class Animal
'引数のないNewプロシージャ
Sub New()
strName = "名なしアニマル" '名前の設定
iHp = 20 'HPの設定
iMp = 10 'MPの設定
End Sub
'引数のあるNewプロシージャ
Sub New(ByVal strNewName As String, _
ByVal iNewHp As Integer, _
ByVal iNewMp As Integer)
strName = strNewName '引数からの名前の設定
iHp = iNewHp '引数からのHPの設定
iMp = iNewMp '引数からのMPの設定
End Sub
Private strName As String ' アニマルの名前
Private iHp As Integer ' アニマルの攻撃力
Private iMp As Integer ' アニマルの防御力
' アニマル名を取得/設定するためのNameプロパティ
Public Property Name() As String
Get
Return strName '名前をそのまま返す
End Get
Set(ByVal value As String)
strName = value '名前を設定
End Set
End Property
' 攻撃力を取得/設定するためのHpプロパティ
Public Property Hp() As Integer
Get
Return iHp 'HPをそのまま返す
End Get
Set(ByVal value As Integer)
iHp = value 'HPを設定
End Set
End Property
' 防御力を取得/設定するためのMpプロパティ
Public Property Mp() As Integer
Get
Return iMp 'MPをそのまま返す
End Get
Set(ByVal value As Integer)
iMp = value 'MPを設定
End Set
End Property
'Sharedの使い方
Public Shared Function Compare(ByVal x As Animal, ByVal y As Animal) As String
If x.Hp = y.Hp Then
Return "m1とm2の強さは同じ"
ElseIf x.Hp < y.Hp Then
Return "m2の方が強い" '-1
Else
Return "m1の方が強い" ' 1
End If
End Function
End Class
~・~・~・~・~・~・~・~・~・~・~・~・~・~・~・~・~・
Public Class Form1
'Dim m As Animal
'm = New Animal()
'Dim m As Animal = New Animal()
'Dim m As New Animal
Dim m1 As New Animal
Dim m2 As New Animal
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
m1.Hp = 30
m2.Hp = 40
MessageBox.Show("m1.Hp⇒" & m1.Hp & vbCrLf & _
"m2.Mp⇒" & m2.Hp & vbCrLf & _
Animal.Compare(m1, m2))
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
'引数のあるNewプロシージャへ
Dim m1 As New Animal("ライオン", 120, 0)
MessageBox.Show("なまえ⇒" & m1.Name & vbCrLf & _
"Hp⇒" & m1.Hp & vbCrLf & _
"Mp⇒" & m1.Mp)
End Sub
End Class