new 与override 区别
1 2 3 4 5 6 | BaseC baseC= new BaseC (); baseC.Invoke(); BaseC derivedC = new DerivedC (); derivedC.Invoke(); SuperA superA = new SuperA(); //new 必须申明也是本类 superA.Invoke();BaseC superA1 = new SuperA(); //申明是父类<br> superA1.Invoke(); |
输出如下:
BaseC
DerivedC
SuperA
BaseC //申明是父类
new 隐藏父类,而申明必须也是子类才可以。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | public class BaseC { public int x; public virtual void Invoke() { Debug.WriteLine( "BaseC" ); } } public class DerivedC : BaseC { public override void Invoke() { Debug.WriteLine( "DerivedC" ); } } public class SuperA : BaseC { public new void Invoke() { Debug.WriteLine( "SuperA" ); } } |
本文来自博客园,作者:willamyao,转载请注明原文链接:https://www.cnblogs.com/robertyao/p/16199695.html
代码改变世界
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2021-04-27 js判断是否安桌是否ios