選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C# 繼承


繼承 (派生類和基類)

在 C# 中,可以從一個類繼承欄位和方法。我們將“繼承概念”分為兩類:

  • 派生類 (子類) - 繼承另一個類的類
  • 基類 (父類) - 被繼承的類

要繼承一個類,請使用 : 符號。

在下面的示例中,Car 類 (子類) 繼承了 Vehicle 類 (父類) 的欄位和方法。

示例

class Vehicle  // base class (parent) 
{
  public string brand = "Ford";  // Vehicle field
  public void honk()             // Vehicle method 
  {                    
    Console.WriteLine("Tuut, tuut!");
  }
}

class Car : Vehicle  // derived class (child)
{
  public string modelName = "Mustang";  // Car field
}

class Program
{
  static void Main(string[] args)
  {
    // Create a myCar object
    Car myCar = new Car();

    // Call the honk() method (From the Vehicle class) on the myCar object
    myCar.honk();

    // Display the value of the brand field (from the Vehicle class) and the value of the modelName from the Car class
    Console.WriteLine(myCar.brand + " " + myCar.modelName);
  }
}

執行示例 »

為何以及何時使用“繼承”?

- 它有助於程式碼重用:在建立新類時重用現有類的欄位和方法。

提示: 還可以檢視下一章 多型性,它使用繼承的方法來執行不同的任務。


sealed 關鍵字

如果您不想讓其他類繼承某個類,請使用 sealed 關鍵字。

如果您嘗試訪問 sealed 類,C# 將生成一個錯誤。

sealed class Vehicle 
{
  ...
}

class Car : Vehicle 
{
  ...
}

錯誤訊息將類似如下內容

'Car': 不能從 sealed 型別 'Vehicle' 派生


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援