方案:需要在现有代码中添加更多功能。为了重用当前的代码,我尝试创建一个基类并放入所有通用代码,并创建多个派生类。但是,当前类依赖于另一个类(祖父母类)。
这是当前代码:
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) {
...
}
}
从理论上讲,我们不应在抽象类中添加构造函数。我该如何优雅地处理呢?有什么建议吗?预先感谢!