当前位置: 首页 > 编程语言 > C#

new和override的区别?分享

时间:2023-04-10 14:03:14 C#

new和covered的区别?我有一个基类,我想为继承类的所有方法提供一些“基本”功能。在我要继承的继承类中:publicoverridevoidSetup(){base.Setup();但目前它说我必须使用new关键字。我如何拥有它,所以我必须使用override关键字?目前使用new关键字和使用override有什么区别吗?之所以这样说是因为您没有将基本方法声明为虚拟方法。这样做之后,基本的虚拟/派生覆盖关键字对就有意义了。现在,编译器抱怨说你不能覆盖非虚方法。使用override关键字时,即使实例作为基类类型传递,也将使用派生方法。因此,基类中需要有一个虚拟对象,以便程序知道它必须对实例的实际类型进行运行时检查。然后它查找实际类型是什么,如果它是派生类型,它会检查它们是否在派生类中被基类中的特定方法覆盖。成员隐藏是不同的。基成员仅在实际作为派生类的实例传递时才隐藏。如果一个对象作为基类传递,基类方法仍然会被使用。如果你隐藏了一个成员,如果没有使用new关键字,你会被警告。new关键字只是告诉编译器你真的想隐藏基类型方法。以上就是C#学习教程:new和override的区别?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: