多态指的是多个类中具有相似功能的不同方法,并且这些方法使用同名称,并且这些方法使用相同的调用方式来调用这些具有不同功能的同名方法。
利用多态性,可以在基类和派生类中使用同样的方法名定义不同的操作,从而实现“一个接口,多种方法”。
Imports System.Math
Module Module1
Public MustInherit Class baseClass
Public MustOverride Function Calculate(ByVal x As Double, ByVal y As Double) As Double
End Class
Public Class Addition
Inherits baseClass
Public Overrides Function Calculate(ByVal x As Double, ByVal y As Double) As Double
Return x + y
End Function
End Class
Public Class Multiply
Inherits baseClass
Public Overrides Function Calculate(ByVal x As Double, ByVal y As Double) As Double
Return x * y
End Function
End Class
'op定义为基类
Private Sub show(ByVal op As baseClass, ByVal num1 As Double, ByVal num2 As Double)
Dim result As Double
result = op.Calculate(num1, num2)
Console.WriteLine(result)
End Sub
Sub Main()
'定义为子类
Dim oper1 As New Addition
Dim oper2 As New Multiply
'所以多态了
show(oper1, 12, 12)
show(oper2, 12, 12)
Console.Read()
End Sub
End Module