我有兩個枚舉,有兩個包。我可以有1000個枚舉,1000個包,因爲我正在研究一種「單元」結構,每個單元都必須有它自己的枚舉。幾個枚舉如何擴展一個包含用於Java中這些枚舉的方法的類?
我不想讓每個常量在同一個枚舉中最大化內聚。
的問題是,每一個枚舉基本相同,爲常數節選(適合每個單元)
所以,我需要重複大量的代碼,我不希望這樣做(我的枚舉實現監聽器,方法邏輯例如是在每個枚舉中複製/粘貼)。
我查看了互聯網上的枚舉擴展模式。我找到了可擴展的枚舉模式。
這不完全是我所需要的。
我試圖找到一種解決方案,以保持我的常量在不同的包中,以不同的單位,但我想要一種抽象類,在我的枚舉可以擴展的包層次結構的頂部。這樣,我只能寫一次方法邏輯。
我知道枚舉不能擴展類,它們只能實現接口。
這是一個沒有工作的UML草圖,我想這樣做:
我怎麼能這樣做?有沒有一種模式?
幾個枚舉如何擴展一個包含用於這些枚舉的方法的類? (可重複使用)
編輯提示:
我需要使用.values()
從枚舉,因爲我需要的常量進行迭代。
是的,但類型不會允許我迭代.values? –
你可以實現Iterable ... – keuleJ
是的,這是一個觀點,我會嘗試! –