对于Java中的以下问题,我需要一些有关设计模式的有用建议。
我有三节课:
class A extends X implement Y {
doA()
}
class B extends X implement Y {
doB()
}
class C extends X implement Y {
doC()
}
现在,我想创建一个类
D
,该类应分别重用类doA
,doB
和doC
的方法A
,B
和C
。有人可以针对上述问题提出建议吗?
最佳答案
我认为您需要使用范例“ Prefer composition over inheritance”。设计类D
,其中包括A
,B
,C
的实例,并在必要时调用其方法。另外,如果需要,D
可以实现Y
并将相应的API调用委派给A
或B
或C
。