在C#中,構造函數鏈是指一個構造函數調用另一個構造函數
public class MyClass
{
private int a;
private int b;
// 默認構造函數
public MyClass() : this(0, 0)
{
// 你可以在這里添加更多的初始化代碼
}
// 帶有兩個參數的構造函數
public MyClass(int a, int b)
{
this.a = a;
this.b = b;
}
// 帶有一個參數的構造函數,通過調用帶有兩個參數的構造函數來初始化
public MyClass(int a) : this(a, 0)
{
// 你可以在這里添加更多的初始化代碼
}
}
在這個例子中,我們定義了三個構造函數。當調用不帶參數的構造函數時,它會調用帶有兩個參數的構造函數,將a
和b
都設置為0。當調用帶有一個參數的構造函數時,它會調用帶有兩個參數的構造函數,將b
設置為0,而a
則根據傳入的參數值進行設置。這樣,我們可以通過構造函數鏈簡化代碼并確保所有的構造函數都能正確地初始化對象。