在 C# 中從子類的建構函式呼叫基類的建構函式
Muhammad Maisam Abbas
2023年1月30日
2021年3月21日
本教程將討論從 C# 中的子類的建構函式呼叫基類的建構函式的方法。
在 C# 中從子類的建構函式呼叫基類的預設建構函式
在 C# 中,當我們建立子類的例項時,編譯器會自動呼叫基類的預設建構函式。下面的程式碼示例中顯示了這種現象。
using System;
namespace call_constructor_of_base_class
{
public class baseClass
{
public baseClass()
{
Console.WriteLine("This is the Base Class");
}
}
public class childclass : baseClass
{
public childclass()
{
Console.WriteLine("This is the Child Class");
}
}
class Program
{
static void Main(string[] args)
{
childclass c = new childclass();
}
}
}
輸出:
This is the Base Class
This is the Child Class
在上面的程式碼中,baseClass
是基類,而 childclass
是繼承 baseClass
的子類。當我們建立子類 childclass
的例項時,編譯器會自動呼叫 baseClass
的預設建構函式。baseClass
的建構函式在 childclass
的建構函式之前執行。此方法不能用於將引數從子類的建構函式傳遞給基類的建構函式。
在 C# 中使用 base
關鍵字將引數從子類的建構函式傳遞給基類的建構函式
如果要從子類的建構函式將引數傳遞給基類的建構函式,則必須使用 base
關鍵字。base
關鍵字指定在建立子類的例項時應呼叫基類的構造方法。以下程式碼示例向我們展示瞭如何使用 C# 中的 base
關鍵字將子類的建構函式中的引數傳遞給基類的建構函式。
using System;
namespace call_constructor_of_base_class
{
public class baseClass
{
public baseClass()
{
Console.WriteLine("This is the Base Class");
}
public baseClass(int x)
{
Console.WriteLine("The Child class passed {0} to the Base Class",x);
}
}
public class childclass : baseClass
{
public childclass(int a): base(a)
{
Console.WriteLine("This is the Child Class");
}
}
class Program
{
static void Main(string[] args)
{
childclass c = new childclass(10);
}
}
}
輸出:
The Child class passed 10 to the Base Class
This is the Child Class
在上面的程式碼中,我們將 10 傳遞給子類 childclass
的建構函式的基類 baseClass
的引數化建構函式。
Author: Muhammad Maisam Abbas
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn