C# 中的關鍵字之:base、this(一)

來源:互聯網
上載者:User

C#中的關鍵字之:base、this。base 關鍵字用於從衍生類別中訪問基類的成員:調用基類上已被其他方法重寫的方法。

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

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

  樣本:

  在衍生類別中調用基類方法。

以下是引用片段:<br />  // base 關鍵字<br />  // 訪問基類成員<br />  using System;<br />  public class BaseClass<br />  {<br />  protected string _className = "BaseClass";<br />  public virtual void PrintName()<br />  {<br />  Console.WriteLine("Class Name: {0}", _className);<br />  }<br />  }<br />  class DerivedClass : BaseClass<br />  {<br />  public string _className = "DerivedClass";<br />  public override void PrintName()<br />  {<br />  Console.Write("The BaseClass Name is {0}");<br />  //調用基類方法<br />  base.PrintName();<br />  Console.WriteLine("This DerivedClass is {0}", _className);<br />  }<br />  }<br />  class TestApp<br />  {<br />  public static void Main()<br />  {<br />  DerivedClass dc = new DerivedClass();<br />  dc.PrintName();<br />  }<br />  }<br />  /**//*

  控制台輸出:

  The BaseClass Name is BaseClass

  This DerivedClass is DerivedClass

  */

  在衍生類別中調用基類建構函式。

以下是引用片段:<br />  // keywords_base2.cs<br />  using System;<br />  public class BaseClass<br />  {<br />  int num;<br />  public BaseClass()<br />  {<br />  Console.WriteLine("in BaseClass()");<br />  }<br />  public BaseClass(int i)<br />  {<br />  num = i;<br />  Console.WriteLine("in BaseClass(int {0})", num);<br />  }<br />  }<br />  public class DerivedClass : BaseClass<br />  {<br />  // 該構造器調用 BaseClass.BaseClass()<br />  public DerivedClass() : base()<br />  {<br />  }<br />  // 該構造器調用 BaseClass.BaseClass(int i)<br />  public DerivedClass(int i) : base(i)<br />  {<br />  }<br />  static void Main()<br />  {<br />  DerivedClass dc = new DerivedClass();<br />  DerivedClass dc1 = new DerivedClass(1);<br />  }<br />  }<br />  /**//*

  控制台輸出:

  in BaseClass()

  in BaseClass(1)

  */

  注意點:

  從靜態方法中使用 base 關鍵字是錯誤的。

  base 主要用於物件導向開發的多態這方面,在樣本2中有體現。

  this 關鍵字引用類的當前執行個體。

連結的部落格地址是:http://blog.163.com/huang_ying_lu/blog/static/269998320081109212363/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.