首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在C#中的基础构造函数之前执行派生的构造函数

在C#中,基础构造函数是指基类中的构造函数,而派生的构造函数是指派生类中的构造函数。在派生的构造函数中,可以使用 base() 关键字来调用基类的构造函数。

在C#中,派生的构造函数必须在其内部调用基类的构造函数,否则会自动调用基类的默认构造函数。如果基类中没有提供默认构造函数,则必须在派生的构造函数中使用 base() 关键字来显式调用基类的构造函数。

例如,以下是一个基类和派生类的示例代码:

代码语言:csharp
复制
public class BaseClass
{
    public BaseClass()
    {
        Console.WriteLine("Base class constructor called.");
    }
}

public class DerivedClass : BaseClass
{
    public DerivedClass()
    {
        Console.WriteLine("Derived class constructor called.");
    }
}

在这个示例中,BaseClass 类中有一个默认的构造函数,而 DerivedClass 类中也有一个默认的构造函数。当创建一个 DerivedClass 对象时,会自动调用 BaseClass 类中的默认构造函数,然后再调用 DerivedClass 类中的构造函数。

如果 BaseClass 类中没有提供默认的构造函数,则必须在 DerivedClass 类中使用 base() 关键字来显式调用基类的构造函数。例如:

代码语言:csharp
复制
public class BaseClass
{
    public BaseClass(string message)
    {
        Console.WriteLine(message);
    }
}

public class DerivedClass : BaseClass
{
    public DerivedClass() : base("Base class constructor called.")
    {
        Console.WriteLine("Derived class constructor called.");
    }
}

在这个示例中,BaseClass 类中的构造函数需要一个字符串参数,而 DerivedClass 类中的构造函数使用 base() 关键字来调用 BaseClass 类中的构造函数,并传递一个字符串参数。

总之,在C#中,派生的构造函数必须在其内部调用基类的构造函数,否则会自动调用基类的默认构造函数。如果基类中没有提供默认构造函数,则必须在派生的构造函数中使用 base() 关键字来显式调用基类的构造函数。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券