由于子类继承类父类,那么子类就拥有相同的行为,但子类的行为有时需要相互区别
子类就需要覆写父类的方法来实现子类特有的行为,这样的技术在c#中就叫做多态。
多态就是相同类型的对象调用相同的方法却表现出不同的现象
使用virtual和override关键字实现重写方法
只有基类成员声明为virtual和abstract时才能被派生类重写
而如果子类想改变虚方法的实现行为,则必须使用override关键字
最后执行结果为:
但是这样的代码存在一个问题
就是
Animal animal=new Animal ();
这个样的话毫无意义,因为这里的基类是为子类提供公共成员
那么我们可以将基类创建为抽象类利用abstract关键字就可以防止这种情况发生。
阻止派生类重写虚成员
利用sealed关键字来实现
如果在有个类来继承Horse并试图重写Voice方法就会收到错误信息
使用新成员隐藏基类成员
利用new关键字来实现
时间: 2024-11-08 07:56:23