我正試圖讓一個面向對象的例子脫離「union find」。在實現相同接口的所有類中重複使用哪種設計模式用於方法實現?
所以我有一個叫UF
public interface UF {
boolean connected(int p,int q);
void printArray();
void union(int p,int q);
}
接口,下面的類實現它quickFindUF,quickUnionUF,quickWeightedUnionUF 但他們都共享一個功能,該功能在實現相同的,(功能printArray() )
什麼是避免printArray()代碼重複使用的最佳模式?創建類調用ArrayPrinter並將數組傳遞給printArray()中所有實現UF的類?
是否有任何模式,我可以做到這一點沒有做抽象繼承只是使用接口。因爲繼承限制了我的設計,如果我繼承了一個類,我不會繼承其他任何東西,我不會僅僅爲printArray()方法進行限制......
謝謝你的回答我的問題,很漂亮! –