我對GUI設計很陌生,並且正在努力一點,以決定我的繼承意圖是否可以接受(我熟悉偏愛構圖的一般概念)。Java GUI設計 - 「浪費」的繼承?
例如,如果我有一個圖形用戶界面,將有3個JToolBars(在頂部兩個工具欄和在底部的狀態條),爲我看到它我有2種明顯選擇:
- 只需實例3 JToolBars,向它們添加各種組件(按鈕等),然後將它們添加到父面板。做所有這些的代碼可能在父面板中(即一些私有方法)。
- 創建3個新類 - UpperToolBar,LowerToolBar,StatusBar。每個子類都包含JToolBar的子類,幷包含必要的代碼以「構建自己」(可能在每種情況下從構造函數調用的私有方法中)。
我的直接首選是第二個選項,只是在封裝,模塊化等方面。然而,它似乎是錯誤的子類JToolBar但實際上並沒有添加任何功能?這是可以接受的還是有更好的選擇。
看起來很合理,但如果有很多GUI組件,這又意味着將所有代碼構建爲一個類,而不是很好地分解。 – William 2010-02-17 17:57:52
至少剛開始時,可以只是靜態創建方法而不是任何花哨模式。實際上,構造函數是一種靜態方法(技術上,構造函數在字節碼中表現爲有趣的實例方法,因爲在調用構造函數之前需要分配對象,構造函數在沒有「靜態地知道」運行時類型的情況下互相調用)。 – 2010-02-17 18:29:14