1,關鍵字virtual,可以把一個基類函數聲明為虛方法。public virtualvoid myVirtualMethod(){}
2,也可以把屬性聲明為virtual
public virtual int iCount { get; set; }
3,虛函數可以在派生類中重寫。使用關鍵字override 。
4,java中,都有函數都是虛擬的,但C#不同,除了構造函數以外,C#中的函數默認情況下都不是虛擬的,而且C#要求在派生類的函數重寫時,必須使用override關鍵字,顯示聲明。
5,override顯示聲明的好處是,如果派生類的方法名無意中與基類略有差別C++會忽略該問題,但C#中會因為該函數已標記為override而出現編譯錯誤。