C# 繼承 (Inheritance)

January 14, 2024

寫 C# 數年後,再重新複習一次繼承的概念與實作。

繼承介紹

  • 從父類別繼承時,可以使用非私有的成員 (Member),如屬性 (Field) 與方法 (Method)。
  • 使用 virtual  宣告此方法可被子類別重新實作。
  • 使用 abstract  時,父類別不實作方法內的邏輯,由子類別去實作。
  • 使用 override  宣告此方法覆蓋父類別原本的方法。
  • 以下的範例程式,雖然 Main 中宣告的是父類別 X,但因為實際建立的是子類別 Y,因此會呼叫子類別的 Show()  語法。
    • 這是一種多型 (Polymorphism) 的應用。
using System;

public class X
{
	public virtual void Show(){
		Console.WriteLine("X Show");
	}
}

public class Y:X
{
	public override void Show(){
		Console.WriteLine("Y Show");
	}
}

public class Program
{
	public static void Main()
	{
		X x = new Y();
		x.Show();
	}
}