c#

C#中子类构造函数如何调用父类构造函数

小樊
167
2024-09-11 01:39:15
栏目: 编程语言

在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的无参构造函数和带参构造函数。注意,当子类构造函数没有显式地调用父类的构造函数时,编译器会自动插入对父类无参构造函数的调用。如果父类没有无参构造函数,子类必须显式地调用一个带参数的父类构造函数。

0
看了该问题的人还看了