我知道java不支持多重继承。我有 3 个具体的基类 A、B 和 C。我想在单个类中重用 A、B 和 C 中的所有实用方法 DI 不能使用组合,因为不能使用 A、B 和 C 类。请给我一条出路。
谢谢和问候, Saurabh
我知道java不支持多重继承。我有 3 个具体的基类 A、B 和 C。我想在单个类中重用 A、B 和 C 中的所有实用方法 DI 不能使用组合,因为不能使用 A、B 和 C 类。请给我一条出路。
谢谢和问候, Saurabh
首先,使用多个接口是可能的(并且非常普遍)。
如果为了使用多个扩展类,您需要使用:
A extends B
,B extends C
但D extends A
并不总是可能的。
考虑使用复合模式而不是多重继承。
我认为你可以使用 Facade 模式
门面 http://i.msdn.microsoft.com/dynimg/IC400938.png
至于你的例子:
SubsystemA 是你的 A 类
SubsystemB 是你的 B 类
SubsystemC 是你的 C 类
Facade 是你的 D 类,你可以在其中做任何你想做的事。
我认为您可以以这种方式使用组合,因为它不会破坏封装。