多态的实现方式;

多态的实现方式;

VB.NET多态性实现

1. OverLoads:原有成员相同的名称来声明属性方法,但参数列表与原始成员不同(C#方法重载)

2. Overrides:在派生类中重写基类成员(VB.NET中在基类中声明为Overridable方法才可以在派生类中用Overrides关键字重写)(C#OverrideC#中只有AbstactVirtual方法才可以在派生类中重写)

3、通过接口实现多态。

先定义一个接口,在定义不同的类来实现接口。

Interface InfX

Sub addRecord()

End Interface

Public Class A

Implements InfX

Public Sub addRecord() Implements InfX.addRecord

MsgBox("A实现接口 InfX")

End Sub

End Class

Public Class B

Implements InfX

Public Sub addRecord() Implements InfX.addRecord

MsgBox("B实现接口 InfX")

End Sub

End Class

1、通过继承实现多态。

先定义一个父类,再定义N个子类,子类继承父类,但是还可以有自己的方法。这样子类除了有父类方法还有子类的方法

Public MustInherit Class animal

MustOverride Sub eat()

Sub run()

MsgBox("父类自有的方法,可以不被子类继承,也可以被继承")

End Sub

End Class

Public Class bird : Inherits animal

Public Overrides Sub eat()

MsgBox("继承的方法eat() ")

End Sub

Public Sub fly()

MsgBox("bird 自有的fly() 方法")

End Sub

End Class

Public Class fish : Inherits animal

Public Overrides Sub eat()

MsgBox("继承的方法eat() ")

End Sub

Public Sub swim()

MsgBox("fish自有的方法 swim()")

End Sub

End Class

记得听学宇说有好多种实现多态的方法,可是我只知道这几个。哪位有缘看到这篇文章,请帮忙指教。帮忙补充。谢谢哈。

据说,设计模式应该是面向对象的思想。继承、封装和多态。还有抽象。设计模式还是要好好的研究的。说实话,都快忘了

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...