new與override的區別

2021-05-26 16:11:53 字數 420 閱讀 9417

/*

override是在原來的基礎上覆蓋,現在就只有子類的該方法,而父類的該方法已經不存在

new是子類生成了乙個與父類同名的新方法,此時父類的這個方法還是存在的

*/using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace override與new

public void f()

}class b : a

new public void f()

}class c : b

new public void f()

}class program}}

b.f c.f c.g  c.g  c.g

override與new的區別

昨天參加面試,遇到乙個關於new修飾符的題,由於本人不慎,給搞錯了,糾其原因,還是因為我的c 基礎知識不牢固,關於override與new的區別平時沒有太注意。在此,為大家分享一下 如下 public class baseclass public virtual void method1 publi...

關於C 的new與override

先放出來兩個基類和派生類 public class baseclass public void method2 string desc public class derivedclass baseclass public newvoid method2 string desc new除了可以建立物件...

C 中new和override區別

在c 中實現重寫方法,可以用new和override兩個關鍵字來實現,究竟他們之間有什麼區別呢?下面,我以例子來說明他們之間的微妙區別 public class grandclass 基類 public virtual void method 用virtual才可以在子類中用override,而ne...