2016-01-05 73 views
1

我在我的代碼中有一個情況,我有兩個類從不同的類繼承,但仍然需要或多或少具有完全相同的代碼。我正在尋找一種方法來使他們的代碼相同,而不必每次修改它時都複製/粘貼它。「繼承」在java中沒有繼承的相同代碼

欲瞭解更多信息,我工作在Android上,我有兩個活動類從android.app.Activity或android.support.v4.app.FragmentActivity繼承。這些類完全一樣,但在處理碎片時,代碼中需要進一步細分。因此,我需要在2個不同的類上完全相同的代碼,因爲java不支持多繼承。 有沒有辦法做到這一點不麻煩?

+3

您可以使用接口。你可以使用委託而不是繼承。你可能對你想要做的更具體。 – khelwood

+0

「我的代碼中存在一種情況,我有兩個類從不同類繼承,但仍然需要或多或少具有完全相同的代碼。」戰略模式浮現在腦海中,但這聽起來像是糟糕的設計。 – Stultuske

+0

接口不允許寫多個函數的簽名嗎?代表團似乎更像我想要的。沒有想到那種模式。 – Laetan

回答

2

您可以使用接口來提取兩個類的共同性。

或者您可以使用委託而不是繼承,將所需的功能放入其他類調用的其他類中。