覆蓋類成員:通過new關鍵字修飾虛函式表示覆蓋該虛函式。
乙個虛函式被覆蓋後,任何父類變數都不能訪問該虛函式的具體實現。
public virtual void introducemyself()//父類虛函式
publ new void introducemyself()//子類覆蓋父類虛函式
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace methodoverridebynew
public class person
///
/// 定義虛函式introducemyself()
///
public virtual void introducemyself()
///
/// 定義虛函式printname()
///
public virtual void printname()
} public class chineseperson :person
///
/// 覆蓋父類方法introducemyself,使用new關鍵字修飾虛函式
///
public new void introducemyself()
///
/// 過載父類方法printname,使用override關鍵字修飾虛函式
///
public override void printname()
} class program}}
結果:person.introducemyself()
chineseperson.introducemyself()
chineseperson.printname()
chineseperson.printname()
本文位址:
c 函式覆蓋 隱藏 過載個人總結
一 在子類中使用new時,隱藏了父類同型函式,如果不用new編譯器報警告。隱藏的效果是呼叫申明型別的函式定義執行,如 class a class b a a a new b a為申明型別,b為例項型別,則a.fun 執行a.fun 如申明為b b new b b.fun 執行b.fun 無論父類函式...
C 函式覆蓋
覆蓋類成員 通過new關鍵字修飾虛函式表示覆蓋該虛函式。乙個虛函式被覆蓋後,任何父類變數都不能訪問該虛函式的具體實現。public virtual void introducemyself 父類虛函式 public new void introducemyself 子類覆蓋父類虛函式 using s...
C 學習筆記 函式的隱藏與覆蓋
函式的隱藏 1.派生類與基類的函式完全相同 函式名和引數列表都相同 只是基類的函式沒有使用virtual關鍵字。此時基類的關鍵字將被隱藏,而不是覆蓋。2.派生類的函式與基類的函式同名,但引數列表不同,在這種情況下,不管基類的函式宣告是否有virtual關鍵字,基類的函式都將被隱藏。與過載區分 繼續使...