C#中base關鍵字的幾種用法
阿新 • • 發佈:2021-11-18
base最大的使用就是“面向物件”開發的多型中。base可以對派生類(子類)例項中呼叫基類(父類)的建構函式方法或者基類上已經被重寫的虛方法。
首先宣告兩個類 A B
public class A { public A() { Console.WriteLine("我是父類A"); } public A(string cs) { Console.WriteLine("我是帶一個引數的父類A"); } public virtual void CX() { Console.WriteLine("我是虛方法的父類A,可以被重寫"); } } public class B : A { //因為使用了:base() 方法 所以他會自動先呼叫基類(父類)的方法 對應的引數 //這裡會呼叫父類帶一個引數的建構函式方法 //然後在執行B本身建構函式中的方法 public B() : base("sada") { Console.WriteLine("我是子類B"); } //例項化B方法後 呼叫B.CX //base.CX()方法先呼叫基類的虛方法輸出 //再執行本身的方法 public override void CX() { base.CX();//可以呼叫基類虛方法 Console.WriteLine("我是重寫方法的子類"); } }
在main方法中使用
B bb = new B();
bb.CX();