2013-04-25 97 views
0

我知道Java不支持多重繼承。我有3混凝土基類說A,B和C.我想重新使用在一個類中的DI A,B & C中的所有的實用方法不能使用組合物的類A,B和C不能與播放。請給我一個出路。從多個類擴展Java中

感謝和問候, SAURABH

+2

改爲使用接口。 – Zyerah 2013-04-25 08:14:19

+0

你可以看看這個:http://stackoverflow.com/questions/3917190/multiple-inheritance-in-java – DuKes0mE 2013-04-25 08:15:54

+0

使用繼承,只是因爲你要使用的方法從某些類是一個壞主意 - 那不是繼承的意思對於。 – Jesper 2013-04-25 08:46:44

回答

0

我認爲你可以使用Facade模式

Facade http://i.msdn.microsoft.com/dynimg/IC400938.png

至於你的例子:

  • SubsystemA是你的A級

  • SubsystemB是你的B類

  • SubsystemC是你的C類

  • 門面是你的d類,在這裏你可以做任何你想要的。

我認爲你可以用這種方式使用組合,因爲它不會破壞封裝。

+0

感謝您的幫助。會嘗試一下。 – Saurabh 2013-04-25 10:31:33

0

首先,使用多個接口是可能的(並且很常見)。

如果要使用多個擴展類,你需要使用:

A extends BB extends CD extends A但並不總是可能的。

考慮使用composite pattern代替多繼承的。

+0

除了B將有權訪問的時候它不應該。 – Zyerah 2013-04-25 08:14:51

+0

而且如任擇議定書所述,A B和C不得改變。 – Aquillo 2013-04-25 08:15:51

+0

感謝您的幫助。 – Saurabh 2013-04-25 10:31:16