亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么不擴展JFrame和其他組件?

為什么不擴展JFrame和其他組件?

慕少森 2019-10-12 09:57:38
我已經看過幾次,但是在我看到的帖子中,沒有人解釋。為什么我不應該擴展JFrame(或任何組件)?是否存在我應該擴展組件的條件,或者這是您不應該采用的嚴格規則?
查看完整描述

3 回答

?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

一般而言,擴展組件傾向于嚴格使用該組件。這在設計方面以不必要的方式嚴重地限制了您的選項,以使您的類無法擴展不同的類,您無法隱藏JFrame的方法,從而導致在使用類時,JFrame的維護更加困難并且更容易觸發意外的錯誤。

通常,其意圖是嚴格使用該類來繪制框架,并且優先于繼承而不是繼承。

話雖這么說,當您打算讓子類向Frame添加項目特定功能(例如便捷方法等)時,子類應該很好,在這種情況下,將使用子類代替Frame本身,但通常將其用作框架,而不是作為應用程序中特定框架的視圖。


查看完整回答
反對 回復 2019-10-12
?
UYOU

TA貢獻1878條經驗 獲得超4個贊

優先考慮組成而不是繼承。所有通常的原因。組合強制減少代碼之間的依賴性。

Swing和事件AWT的組件非常復雜。您不想陷入那種混亂。您可以輕松地意外覆蓋方法。如果您確實需要重寫方法,那么如果它屬于普通代碼,則很難看到它在哪里完成。


查看完整回答
反對 回復 2019-10-12
?
GCT1015

TA貢獻1827條經驗 獲得超4個贊

如果您的應用程序確實只是一個JFrame,請繼續進行擴展。但是,如果僅使用 JFrame ,則最好使用對象組合而不是繼承。

例如,如果您的對象擴展了其他對象,那么您將別無選擇。


查看完整回答
反對 回復 2019-10-12
  • 3 回答
  • 0 關注
  • 416 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號