D中的构造函数继承

时间:2014-04-15 14:29:20

标签: inheritance constructor polymorphism d

是否可以在D中继承构造函数?

abstract class A {
    this(int a) {
        // ...
    }
}

class B: A {}

void main() {
    B b = new B(2); // Use A's constructor
}

我知道我可以通过super(param)在B中调用A的构造函数,但是会有很多类继续进行,所以我想知道是否有更自动化的方法。

1 个答案:

答案 0 :(得分:2)

我不认为它有语言功能,但您可以将其作为帮手mixin实现:

https://github.com/CyberShadow/ae/blob/29aa5dde35677a38dc8f6315dc38d7ecd437d967/utils/meta/misc.d#L219-L267