(我是一個新手開發商還在學習最佳實踐和Java - 任何幫助/方向,將不勝感激,謝謝!)如何在沒有多重繼承的情況下避免代碼重複(即在java中)?
假設我有以下情況:
ClassA
擴展抽象ClassB
這延伸摘要ClassC
。ClassD
延伸摘要ClassE
其中延伸摘要ClassF
其中延伸摘要ClassC
。
[ClassC
是父類]
其中ClassA
和ClassD
有一組相同的屬性,吸氣劑,&制定者。
我想避免代碼重複(屬性,getters,setters)。我也想避免寫出不同的方法doSomething(ClassA class, ...)
和doSomething(ClassD class, ...)
,這些方法除了參數類型外都是相同的。
如果這兩個類直接從ClassC
繼承,我會讓它們擴展一個擁有所有getter和setter和屬性的類,並將該類型傳入方法doSomething(..)
。由於ClassA
和ClassD
不能擴展多個類,因此處理這種情況的最佳方法是什麼?
那麼在Java中,你可以使用* interfaces *。 –
你有沒有具體的例子說明你爲什麼會讓互通圖變得如此之深? –
所以D是一個E是一個F是一個C.這是有點太多的繼承使用。 –