这篇文章将为大家详细讲解有关如何进行VB.NET继承实现多态应用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。最为一款面向对象的编程语言,VB.net同样也可以通过继承进行多态的实现。我们今
这篇文章将为大家详细讲解有关如何进行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继承实现多态应用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
--结束END--
本文标题: 如何进行VB.NET继承实现多态应用
本文链接: https://lsjlt.com/news/291377.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0