VB.NET繼承實現多態應用方法介紹
最為一款面向對象的編程語言,VB.NET同樣也可以通過繼承進行多態的實現。我們今天就為大家介紹一下有關VB.NET繼承實現多態的具體代碼編寫,希望能給大家帶來一些幫助,提高編程效率。
大部分面向對象的程序開發系統都是通過繼承來實現多態。比如說跳蚤類和狗類都是從動物類繼承過來的。為了突出每一種動物走動的特點,則每一種特定動物類都要重載動物類的"Move"方法。
VB.NET繼承實現多態的問題是因為用戶可以需要在還不知道是要對哪種特定動物進行處理的時候,就要調用多種從動物類中派生出來的特定的動物類中的"Move"方法。
在下面的這個TestPolymorphism過程中,VB.NET繼承實現多態的代碼示例:
- MustInherit Public Class Amimal
'基本類- MustOverride Public Sub Bite
(Byval What As Object)- MustOverride Public Sub Move
(ByRef Distance As Double)- End Class
- Public Class Flea
- Inherits Amimal
- Overrides Sub bite(Byval What
As Object)- 'Bite something
- End Sub
- Overrides Sub Move(ByRef
Distance As Double)- distance=Distance+1
- End Sub
- End Class
- Public Class Dog
- Inherits Animal
- Overrides Public Sub bite
(Byval What As Object)- 'Bite something
- End Sub
- Overrides Sub Move(ByRef
Distance As Double)- distance=Distance+100
- End Sub
- End Class
- Sub TestPolymorphism()
- Dim aDog As New Dog()
- Dim aFlea As New Flea()
- UseAnimal(aFlea) 'Pass a flea
object to UseAnimal procedure- UseAnimal(aDog) 'Pass a Dog
object to UseAnimal procedure- End Sub
- Sub UseAnimal(Byval AnAnimal As Animal)
- Dim distance As Double=0
- 'UseAnimal does not care what
kind of animal it is using- 'The Move method of both the
Flea and the Dog are inherited- 'from the Animal class and can
be used interchangeably.- AnAniml.Move(distance)
- If distance=1 Then
- MessageBox.Show("The animal moved:
"&CStr(distance)&_- "units,so it must be a Flea.")
- ElseIf distance>1 Then
- MessageBox.Show("The animal
moved:"&CStr(distance)&_- "units,so it must be a Dog.")
- End IF
- End Sub
VB.NET繼承實現多態的相關代碼編寫就為大家介紹到這里。
【編輯推薦】