1
我想弄清楚如何正確地擴展幾個類沒有重複的代碼。 我有以下類:擴展類沒有多重繼承或重複的代碼
- 基地(方法A,方法B)
- 發票:基礎(方法C)
- 配送費:基地(方法d)
我不得不調整一些功能而不修改它們。問題是我需要調整的一些方法在基類中。
如果我擴展基類,我將需要複製的方法C和D.如果我延長每個final類的,然後我需要複製的更改方法A,B。
我如何正確地做到這一點沒有多重繼承(PHP,不可能)或重複的代碼?
我想弄清楚如何正確地擴展幾個類沒有重複的代碼。 我有以下類:擴展類沒有多重繼承或重複的代碼
我不得不調整一些功能而不修改它們。問題是我需要調整的一些方法在基類中。
如果我擴展基類,我將需要複製的方法C和D.如果我延長每個final類的,然後我需要複製的更改方法A,B。
我如何正確地做到這一點沒有多重繼承(PHP,不可能)或重複的代碼?
您可以使用trait
來完成此操作。
路太寬的問題 - 有太多的方法可以做到這一點。特徵(多重繼承)是一個解決方案,將基類分解爲需要依賴關係,並讓兩個最終類提供這些依賴關係的不同實現可能是更好的選擇。沒有辦法可以肯定地說有這樣的抽象信息 – Steve
我不能改變這些類,我只能擴展它們。他們是第三方模塊的一部分。 – Domeglic
那麼特徵可能是最好的選擇,但也沒有辦法真正回答這個問題,所以它可能會因爲太寬泛而關閉 – Steve