前問の Animal クラスに以下の仮想メソッドを追加しなさい。
Public Overridable Sub Speak()
Console.WriteLine("......")
End Sub
Dog クラス、Cat クラスに Speak メソッドをオーバーライドするメソッドを追加しなさい。
Dog では“ワンワン”、Cat では“ニャー”という文字列を表示します。
次のプログラムを作成しなさい。
- Cat クラスと Dog クラスのインスタンスを作成する。
- それぞれの ShowProfile を実行する。
- それぞれの Speak を実行する。
Class Animal
Public Property Name() As String
Public Property Age() As Integer
Public Sub New(nm As String, ag As Integer)
_Name = nm
_Age = ag
End Sub
Public Sub ShowProfile()
Console.WriteLine(_Name & "," & _Age & "歳")
End Sub
Public Overridable Sub Speak()
Console.WriteLine("......")
End Sub
End Class
Class Cat
Inherits Animal
Public Sub New(nm As String, ag As Integer)
MyBase.New(nm, ag)
End Sub
Public Sub Sleep()
Console.WriteLine("スースー")
End Sub
Public Overrides Sub Speak()
Console.WriteLine("ニャー")
End Sub
End Class
Class Dog
Inherits Animal
Public Sub New(nm As String, ag As Integer)
MyBase.New(nm, ag)
End Sub
Public Sub Run()
Console.WriteLine("トコトコ")
End Sub
Public Overrides Sub Speak()
Console.WriteLine("ワンワン")
End Sub
End Class
Sub Main()
Dim MyCat As New Cat("たま", 3)
Dim MyDog As New Dog("ぽち", 4)
MyCat.ShowProfile()
MyDog.ShowProfile()
MyCat.Speak()
MyDog.Speak()
End Sub