具有抽象基类的C#调用构造函数

时间:2020-09-08 06:50:54

标签: c# inheritance abstract-class multiple-inheritance

方案:需要在现有代码中添加更多功能。为了重用当前的代码,我尝试创建一个基类并放入所有通用代码,并创建多个派生类。但是,当前类依赖于另一个类(祖父母类)。

这是当前代码:

Class A {
    public A(int n) {
        ...
    }
}

Class B : A {
    public B(int n) : base(n) {
        ...
    }
}

我正在尝试将Class B变成abstract base class,以便可以从中获得更多派生类。

这里是个主意:

Class A {
    public A(int n) {
        ...
    }
}

Abstract Class Base : A {
    protected B(int n) : base(n) {
        ...
    }
}

Class X : Base {
    public X(int n) : base(n) {
        ...
    }
}

Class Y : Base {
    public Y(int n) : base(n) {
        ...
    }
}

从理论上讲,我们不应在抽象类中添加构造函数。我该如何优雅地处理呢?有什么建议吗?预先感谢!

0 个答案:

没有答案