用new修饰的方法:显示隐匿基类继承的同名方法,不能用基类的引用访问派生类的new方法;
用override修饰的方法:表示重写基类的虚方法,可以用基类的引用访问派生类的重写方法;基类方法必须用virtual修饰;
virtual修饰的方法:虚方法,允许子类重写该方法;也就是可以override该方法;
demo:
Demo
使用override时,输出结果:
Animal All Animals sleep!
Fish is sleeping!
Dog is sleeping!
使用new时,输出结果是:
Animal All Animals sleep!
Animal All Animals sleep!
Animal All Animals sleep!
用override修饰的方法:表示重写基类的虚方法,可以用基类的引用访问派生类的重写方法;基类方法必须用virtual修饰;
virtual修饰的方法:虚方法,允许子类重写该方法;也就是可以override该方法;
demo:
使用override时,输出结果:
Animal All Animals sleep!
Fish is sleeping!
Dog is sleeping!
使用new时,输出结果是:
Animal All Animals sleep!
Animal All Animals sleep!
Animal All Animals sleep!
本文详细介绍了C#中的Virtual、Override和New关键字的区别及使用场景,通过具体示例展示了如何利用这些关键字实现多态性和方法重写,帮助读者更好地理解和应用面向对象编程中的重要概念。




}
}

1386

被折叠的 条评论
为什么被折叠?



