程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> C# 中的關鍵字之:base、this

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

編輯:C#基礎知識

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

  指定創建派生類實例時應調用的基類構造函數。

  基類訪問只能在構造函數、實例方法或實例屬性訪問器中進行。

  示例:

  在派生類中調用基類方法。

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

  控制台輸出:

  The BaseClass Name is BaseClass

  This DerivedClass is DerivedClass

  */

  在派生類中調用基類構造函數。

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

  控制台輸出:

  in BaseClass()

  in BaseClass(1)

  */

  注意點:

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

  base 主要用於面向對象開發的對態這方面,在示例2中有體現。

  this 關鍵字引用類的當前實例。

  • 首頁
  • 上一頁
  • 1
  • 2
  • 3
  • 下一頁
  • 尾頁
  • 共3頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved