📜  C#|构造函数中的继承(1)

📅  最后修改于: 2023-12-03 14:40:30.597000             🧑  作者: Mango

C# | 构造函数中的继承

在C#中,当一个类派生自另一个类时,它将继承该类的所有成员,包括其构造函数。这意味着子类可以访问父类的所有构造函数,并且还可以添加自己的构造函数。

继承父类构造函数

当子类继承父类时,它可以访问父类的构造函数。这可以通过以下方式完成:

public class ParentClass
{
    public ParentClass(int intParameter)
    {
        // 父类构造函数中的逻辑
    }
}

public class ChildClass : ParentClass
{
    public ChildClass(int intParameter) : base(intParameter)
    {
        // 子类构造函数中的逻辑
    }
}

在这个例子中,子类 ChildClass 继承了父类 ParentClass 并且调用了父类构造函数 base(intParameter) ,然后添加了它自己的构造函数中剩余的方法。

添加自己的构造函数

除了继承父类的构造函数,子类还可以添加自己的构造函数。当子类实例化时,会首先调用子类构造函数,如果没有子类构造函数则调用父类构造函数。下面是一个例子:

public class ParentClass
{
    public ParentClass(int intParameter)
    {
        // 父类构造函数中的逻辑
    }
}

public class ChildClass : ParentClass
{
    public ChildClass(int intParameter1, int intParameter2) : base(intParameter1)
    {
        // 子类构造函数中的逻辑
    }

    public ChildClass(string stringParameter) : this(0, 0)
    {
        // 子类构造函数的逻辑
    }
}

在这个例子中,子类 ChildClass 继承了父类 ParentClass 的构造函数,并添加了自己的两个构造函数。第一个构造函数需要两个参数,并调用父类构造函数。第二个构造函数只需要一个参数,并通过 this(0,0) 调用了第一个构造函数。

总结

继承是一个非常强大的C#功能。当子类继承父类时,它可以使用父类的所有成员。子类还可以添加自己的构造函数,并且可以调用父类的构造函数。这些功能使得C#中的继承非常灵活,可以满足不同的编程需求。