C# new 和 override关键字区别

废话不多说,上图再总结

终结:

这都是啥,巴拉巴拉一大堆,其实就一个点要注意(其他的都是正常情况,对,你想的就是对的。实例化谁就调谁)

当以子类(B)去实例化类,转化为父类时(Base)。也就是说当前对象是子类,我强转成父类了

调用带new关键字的方法时,调用的是父类方法(base _ method2)

调用带override关键字的方法时,调用的是子类方法(B_method1) 

所以捏:new只是隐藏类父类的方法,其实还是存在得,该调还是得调,

               override覆盖了 父类方法,调的时候直接调覆盖的方法(只针对于实例后转为父类的情况哦)

等同于这样写,(原写法更装逼,一看就是大神)

发布了26 篇原创文章 · 获赞 8 · 访问量 5781

猜你喜欢

转载自blog.csdn.net/LM514104/article/details/104774648