0

我知道java不支持多重继承。我有 3 个具体的基类 A、B 和 C。我想在单个类中重用 A、B 和 C 中的所有实用方法 DI 不能使用组合,因为不能使用 A、B 和 C 类。请给我一条出路。

谢谢和问候, Saurabh

4

2 回答 2

0

首先,使用多个接口是可能的(并且非常普遍)。

如果为了使用多个扩展类,您需要使用:

A extends BB extends CD extends A并不总是可能的。

考虑使用复合模式而不是多重继承。

于 2013-04-25T08:14:04.273 回答
0

我认为你可以使用 Facade 模式

门面 http://i.msdn.microsoft.com/dynimg/IC400938.png

至于你的例子:

  • SubsystemA 是你的 A 类

  • SubsystemB 是你的 B 类

  • SubsystemC 是你的 C 类

  • Facade 是你的 D 类,你可以在其中做任何你想做的事。

我认为您可以以这种方式使用组合,因为它不会破坏封装。

于 2013-04-25T08:56:58.350 回答