0
假設我需要一組類實現所有方法 X,Y和Z才能正常工作。在這種情況下,我可以讓他們實施一個通用界面來強制這一點。強制類實現一組方法之一
現在,我的情況有點不同 - 我的課程需要實現至少有一個 X,Y和Z,不一定全部。接口在這裏幫不了我。我能想到的最接近的是一個共同的父母 - 它可以檢查X,Y或Z在其結構中的存在。
我寧願避免在這裏繼承,因爲我可能需要在已經有一個父類的類中實現這個「接口」。所以 - 是否有另一種優雅的方式來做到這一點?
(我在PHP中的工作,但如果一般的OOP的解決方案存在,它可用於更廣泛的受衆。)
接口可以幫助你。這些接口擴展了一個通用接口。不知道你希望如何繼承,除非你想每次檢查它是哪一個。 –
聽起來像一個糟糕的建築/設計。你能解釋一下爲什麼你需要「實現X,Y,Z中的至少一個」嗎? –
@WaxCage我們有配置值訪問類。有些可以從數據庫中獲取它們,另一些從配置文件中獲取,另一些則可以從硬編碼數組中獲取。你可以通過getAsString(),getAsParamObject()或類似的方法從這樣的類中獲得一個值。 這絕對是一個糟糕的設計,但這是我現在需要處理的一個設計。 這些配置類經常被修改(和破壞),所以我想在重構整個事物之前確保它們的基本功能(至少以某種方式獲取值)。 –