【发布时间】:2014-08-07 13:05:42
【问题描述】:
我有以下基类层次结构:
-
Index(摘要)RootIndex-
AbstractSubIndex(摘要)
然后我还有两个类:
-
KPI,应该继承AbstractSubIndex,并添加自己独有的功能; -
SubIndex,它应该继承AbstractSubIndex的功能以及RootIndex中的功能。我会选择默认方法(Java 8),但我的代码无法用interfaces(实例变量)编写。
更新
请注意Index 具有在其他类中继承的默认构造后功能;此构建后功能必须执行一次。合成将强制它至少执行两次,这使得合成对我来说是一个不可行的解决方案。
结束更新
我找不到任何非冗余的解决方法。
有什么想法吗?
【问题讨论】:
-
我知道
SubIndex应该从两个类继承功能,并且它们可以很容易地被一些嵌套类继承。SubIndex应该从什么类型派生? -
它派生自
AbstractSubIndex和RootIndex。这两个类都具有构造SubIndex所需的功能。 -
我看到您需要在
SubIndex中提供这两个功能,但我是从编译器的 typing 角度提出的。它仍然必须有一个类型。它不能同时充当A和B类型,除非它们中最多有一个是类,但你知道这一点。 -
对不起,我误解了你的问题:)。逻辑上它是
AbstractSubIndex。
标签: java inheritance multiple-inheritance