我的目标是在 Java拥有某种类似钻石的遗产。 与此类似:
我知道, Java不可能有真正的多重遗产。 这并不是我的实际问题。
大家都提到的解决办法是使用接口。 这样做,我可以这样做,但这一遗产将成为APIC的一部分。 因此,一切都不应公开,也不应对外开放。 但想的是:所有接口必须公开。
If you take a look at the graph again, this describes my problem further: I want to declare a method in B that gets implemented in A. However, from outside of this diamond you should not be able to access this method. My interface B needs data in a default-implemented method that it can only get from this method that A has to implement. However, from outside you should not be able to call it.
我也知道,许多人说,接口只应具体说明行为。 我采用我的缺省执行方法,在一定程度上打破了这一公约。 我可以想象,这是我首先 st倒这些问题的原因。
现在我的问题是: 我是否犯了根本的结构错误? 如果是的话,我能避免这种情况? 是否有其他办法实现这种功能?
一天: