c# – 如何在不使用父类中的“virtual”的情况下覆盖子类中的方
发布时间:2020-12-15 20:46:52 所属栏目:百科 来源:网络整理
导读:这是一个面试问题.那么是否可以覆盖没有在父方法中指定虚拟的方法? 解决方法 他们可能希望您说“使用新关键字隐藏方法”.这在技术上不会覆盖该方法.如果你有 class Base{ public void Bar() { Console.WriteLine("Base"); }}class Derived : Base{ public n
这是一个面试问题.那么是否可以覆盖没有在父方法中指定虚拟的方法?
解决方法
他们可能希望您说“使用新关键字隐藏方法”.这在技术上不会覆盖该方法.如果你有
class Base { public void Bar() { Console.WriteLine("Base"); } } class Derived : Base { public new void Bar() { Console.WriteLine("Derived"); } } 然后你写了 Derived derived = new Derived(); derived.Bar(); ((Base)derived).Bar(); 你会看到不同的结果.因此,使用基类的函数将获得基本方法的结果,使用派生类的函数将获得新方法的结果. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |