多态的实现方式;

前端之家收集整理的这篇文章主要介绍了多态的实现方式;前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

多态的实现方式;

@H_301_6@

VB.NET多态性实现

@H_301_6@

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

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

3、通过接口实现多态。

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

Interface InfX

@H_301_112@Sub addRecord()

@H_301_112@End @H_301_112@Interface

@H_301_112@Public @H_301_112@Class A

@H_301_112@Implements InfX

@H_301_112@Public @H_301_112@Sub addRecord() @H_301_112@Implements InfX.addRecord

MsgBox("A实现接口 InfX")

@H_301_112@End @H_301_112@Sub

@H_301_112@End @H_301_112@Class

@H_301_112@Public @H_301_112@Class B

@H_301_112@Implements InfX

@H_301_112@Public @H_301_112@Sub addRecord() @H_301_112@Implements InfX.addRecord

MsgBox("B实现接口 InfX")

@H_301_112@End @H_301_112@Sub

@H_301_112@End @H_301_112@Class

1、通过继承实现多态。

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

Public @H_301_112@MustInherit @H_301_112@Class animal

@H_301_112@MustOverride @H_301_112@Sub eat()

@H_301_112@Sub run()

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

@H_301_112@End @H_301_112@Sub

End @H_301_112@Class

Public @H_301_112@Class bird : @H_301_112@Inherits animal

@H_301_112@Public @H_301_112@Overrides @H_301_112@Sub eat()

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

@H_301_112@End @H_301_112@Sub

@H_301_112@Public @H_301_112@Sub fly()

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

@H_301_112@End @H_301_112@Sub

End @H_301_112@Class

Public @H_301_112@Class fish : @H_301_112@Inherits animal

@H_301_112@Public @H_301_112@Overrides @H_301_112@Sub eat()

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

@H_301_112@End @H_301_112@Sub

@H_301_112@Public @H_301_112@Sub swim()

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

@H_301_112@End @H_301_112@Sub

End @H_301_112@Class

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

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

猜你在找的VB相关文章