C#子类重写父类函数的两种方法
(1)使用Virtual关键字Override从写
父类子类代码如下,不能修改public 为其它权限
public virtual void Clear() { UpdateView(); }
public override void Clear() { base.Clear(); }
(2)使用new覆盖
可以从写public 为private
public void Clear() { UpdateView(); } private new void Clear() { base.Clear(); }
示例:
namespace ConsoleApplication2 { class Program { static void Main(string[] args) { ExtUtil v=new ExtUtil(); v.Clear(); Console.ReadLine(); } } public class BaseUtil { public void Clear() { Console.WriteLine("a"); } } public class ExtUtil:BaseUtil { public new void Clear() { Console.WriteLine("b"); } } }
输出b
本博客是个人工作中记录,更深层次的问题可以提供有偿技术支持。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。