阅读量:0
在C#中,子类构造函数可以通过base
关键字来调用父类的构造函数。base
关键字后面跟着父类构造函数的参数列表。这里有一个例子:
public class ParentClass { public ParentClass() { Console.WriteLine("Parent class constructor called."); } public ParentClass(string message) { Console.WriteLine($"Parent class constructor with message: {message}"); } } public class ChildClass : ParentClass { public ChildClass() : base() // 调用父类的无参构造函数 { Console.WriteLine("Child class constructor called."); } public ChildClass(string message) : base(message) // 调用父类的带参构造函数 { Console.WriteLine("Child class constructor with message called."); } }
在这个例子中,ChildClass
有两个构造函数,分别调用了ParentClass
的无参构造函数和带参构造函数。注意,当子类构造函数没有显式地调用父类的构造函数时,编译器会自动插入对父类无参构造函数的调用。如果父类没有无参构造函数,子类必须显式地调用一个带参数的父类构造函数。