多态的实现方式;
VB.NET多态性实现
1. OverLoads:原有成员相同的名称来声明属性或方法,但参数列表与原始成员不同(C#方法重载)。 2. Overrides:在派生类中重写基类成员(VB.NET中在基类中声明为Overridable的方法才可以在派生类中用Overrides关键字重写)(C#Override,C#中只有Abstact、Virtual方法才可以在派生类中重写)。 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@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@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("父类自有的方法,可以不被子类继承,也可以被继承") 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() @H_301_112@Public @H_301_112@Sub fly() 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() @H_301_112@Public @H_301_112@Sub swim() End @H_301_112@Class 记得听学宇说有好多种实现多态的方法,可是我只知道这几个。哪位有缘看到这篇文章,请帮忙指教。帮忙补充。谢谢哈。 据说,设计模式应该是面向对象的思想。继承、封装和多态。还有抽象。设计模式还是要好好的研究的。说实话,都快忘了 |