virtual 允許派生類別覆寫。override,否則編譯錯誤。virtual。public class BaseClass { public virtual string GetUrl() { return "cnblogs.com"; } }
public class BaseClass2 : BaseClass { public override string GetUrl() { return "gosoa.com.cn"; } }
public class Test : BaseClass2 { public override string GetUrl() { return "www.gosoa.com.cn"; } static void Main() { Console.WriteLine(new Test().GetUrl()); } }
// 輸出:www.gosoa.com.cn
派生類別定義同名方法但未加 override,即隱藏基底方法。編譯時發出警告。若基底方法非 virtual,則隱藏為唯一選項。