假设我想将A类和B类继承到C类(这里B也扩展了A)。我非常清楚虽然我永远不能直接在Java中使用,但是通过使用Mixin继承(链接:http://csis.pace.edu/~bergin/patterns/multipleinheritance.html ),即使用一个接口和另一个作为基类,并在内部使用委托我可以做到,当A& B是不相关的类时。
当A& A时,我该如何做同样的事情? B有父子自己,我需要在C?
中继承它们仅为了您的信息,我正在尝试做同样的事情来实现A和A类的不变性。 B.
答案 0 :(得分:1)
如果您的class B
已经延长class A
,则class C
延长class B
就可以了。通过扩展class B
,您还可以获得class A
中尚未明确覆盖的所有功能class B
据推测,你最终得到了:
class A
{
public string hello()
{
return "Hello, World!";
}
}
class B extends A
{
}
class C extends B
{
}
C foo = new C();
foo->hello(); // "Hello World!" because it is defined in A
答案 1 :(得分:0)
为什么不将A类作为抽象类,然后在B和C中进行扩展。让您的常用方法在A中作为抽象(或可以定义),然后您可以在具体类中覆盖它们。 / p>