对于Java中的以下问题,我需要一些有关设计模式的有用建议。

我有三节课:

class A extends X implement Y {
    doA()
}
class B extends X implement Y {
    doB()
}
class C extends X implement Y {
    doC()
}


现在,我想创建一个类D,该类应分别重用类doAdoBdoC的方法ABC

有人可以针对上述问题提出建议吗?

最佳答案

我认为您需要使用范例“ Prefer composition over inheritance”。设计类D,其中包括ABC的实例,并在必要时调用其方法。另外,如果需要,D可以实现Y并将相应的API调用委派给ABC

09-27 21:22