首页 > 代码库 > C# 面向对象之多态
C# 面向对象之多态
由于子类继承类父类,那么子类就拥有相同的行为,但子类的行为有时需要相互区别
子类就需要覆写父类的方法来实现子类特有的行为,这样的技术在c#中就叫做多态。
多态就是相同类型的对象调用相同的方法却表现出不同的现象
使用virtual和override关键字实现重写方法
只有基类成员声明为virtual和abstract时才能被派生类重写
而如果子类想改变虚方法的实现行为,则必须使用override关键字
最后执行结果为:
但是这样的代码存在一个问题
就是
Animal animal=new Animal ();
这个样的话毫无意义,因为这里的基类是为子类提供公共成员
那么我们可以将基类创建为抽象类利用abstract关键字就可以防止这种情况发生。
阻止派生类重写虚成员
利用sealed关键字来实现
如果在有个类来继承Horse并试图重写Voice方法就会收到错误信息
使用新成员隐藏基类成员
利用new关键字来实现
C# 面向对象之多态
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。