實例化對象時自動調用,用於字段初始化、資源分配等。一個類可定義多個構造函數(重載),參數列表不同。
this(...)),集中初始化邏輯。public class Employee {
public string Name { get; set; }
public int Age { get; set; }
public string Dept { get; set; }
// 全參構造
public Employee(string name, int age, string dept) {
Name = name; Age = age; Dept = dept;
}
// 重載:僅姓名、年齡,部門默認
public Employee(string name, int age) : this(name, age, "General") { }
// 重載:僅姓名,年齡默認 0
public Employee(string name) : this(name, 0) { }
}
var e1 = new Employee("張三", 25, "研發");
var e2 = new Employee("李四", 30); // 部門自動為 General
var e3 = new Employee("王五"); // 年齡 0,部門 General
重載構造函數是同一類內部同名不同參數的方法,與繼承無關。合理設計重載鏈(this(...))可減少維護成本。