「VB.NET」メソッドオーバーライトのサンプル
書式
親クラス
Public Overridable Function 関数名()
子クラス
Public Overridable Function 関数名()
使用例
'親クラスSampleの定義
Public Class Sample
'親クラスのメソッドにOverridableを付け
Public Overridable Function funcA(ByVal x As Integer)
Return CStr(x)
End Function
End Class
'子クラスの定義
Public Class Child
Inherits Sample
'子クラスのメソッドにOverridesを付け
Public Overrides Function funcA(ByVal x As Integer) As Object
Return MyBase.funcA(x) + 20
End Function
End Class
Module Module1
Sub Main()
'子クラスChildインスタンスの生成
Dim cft As New Child
'子クラスのfuncA関数を呼び出す
Console.WriteLine(cft.funcA(10))
Console.ReadKey()
End Sub
End Module
'親クラスSampleの定義
Public Class Sample
'親クラスのメソッドにOverridableを付け
Public Overridable Function funcA(ByVal x As Integer)
Return CStr(x)
End Function
End Class
'子クラスの定義
Public Class Child
Inherits Sample
'子クラスのメソッドにOverridesを付け
Public Overrides Function funcA(ByVal x As Integer) As Object
Return MyBase.funcA(x) + 20
End Function
End Class
Module Module1
Sub Main()
'子クラスChildインスタンスの生成
Dim cft As New Child
'子クラスのfuncA関数を呼び出す
Console.WriteLine(cft.funcA(10))
Console.ReadKey()
End Sub
End Module
'親クラスSampleの定義 Public Class Sample '親クラスのメソッドにOverridableを付け Public Overridable Function funcA(ByVal x As Integer) Return CStr(x) End Function End Class '子クラスの定義 Public Class Child Inherits Sample '子クラスのメソッドにOverridesを付け Public Overrides Function funcA(ByVal x As Integer) As Object Return MyBase.funcA(x) + 20 End Function End Class Module Module1 Sub Main() '子クラスChildインスタンスの生成 Dim cft As New Child '子クラスのfuncA関数を呼び出す Console.WriteLine(cft.funcA(10)) Console.ReadKey() End Sub End Module
実行結果
30