base(C# 參考)

來源:互聯網
上載者:User

標籤:output   錯誤   not   outer   stat   erro   ssi   order   this   

原文地址:https://msdn.microsoft.com/zh-cn/library/hfw7t1ce.aspx

base 關鍵字用於從衍生類別中訪問基類的成員:

  • 調用基類上已被其他方法重寫的方法。

  • 指定建立衍生類別執行個體時應調用的基類建構函式。

基類訪問只能在建構函式、執行個體方法或執行個體屬性訪問器中進行。

從靜態方法中使用 base 關鍵字是錯誤的(這裡情況估計和this關鍵字一致,因為靜態方法屬於類一級,而非屬於對象一級)。

所訪問的基類是類聲明中指定的基類。 例如,如果指定 class ClassB : ClassA,則無論 ClassA 的基類如何,從 ClassB 上訪問 ClassA 的成員。

樣本

在本例中,基類 Person 和衍生類別 Employee 都有一個名為 Getinfo 的方法。 通過使用 base 關鍵字,可以從衍生類別中調用基類的 Getinfo 方法。

C# 
public class Person{    protected string ssn = "444-55-6666";    protected string name = "John L. Malgraine";    public virtual void GetInfo()    {        Console.WriteLine("Name: {0}", name);        Console.WriteLine("SSN: {0}", ssn);    }}class Employee : Person{    public string id = "ABC567EFG";    public override void GetInfo()    {        // Calling the base class GetInfo method:        base.GetInfo();        Console.WriteLine("Employee ID: {0}", id);    }}class TestClass{    static void Main()    {        Employee E = new Employee();        E.GetInfo();    }}/*OutputName: John L. MalgraineSSN: 444-55-6666Employee ID: ABC567EFG*/

有關其他樣本,請參見 new、virtual 和 override。

樣本

本樣本顯示如何指定在建立衍生類別執行個體時調用的基類建構函式。

C# 
public class BaseClass{    int num;    public BaseClass()    {        Console.WriteLine("in BaseClass()");    }    public BaseClass(int i)    {        num = i;        Console.WriteLine("in BaseClass(int i)");    }    public int GetNum()    {        return num;    }}public class DerivedClass : BaseClass{    // This constructor will call BaseClass.BaseClass()    public DerivedClass() : base()    {    }    // This constructor will call BaseClass.BaseClass(int i)    public DerivedClass(int i) : base(i)    {    }    static void Main()    {        DerivedClass md = new DerivedClass();        DerivedClass md1 = new DerivedClass(1);    }}/*Output:in BaseClass()in BaseClass(int i)*/

base(C# 參考)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.