一尘不染

Java 为什么不扩展JFrame和其他组件?

java

我已经看过几次了,但是在我看到的帖子中,没有人解释。为什么我不应该扩展JFrame(或任何组件)?是否存在我应该扩展组件的条件,或者这是您不应该采用的严格规则?


阅读 322

收藏
2020-03-18

共1个答案

一尘不染

一般而言,扩展组件往往严格使用该组件。这在设计方面以不必要的方式严重地限制了你的选项,以使你的类无法扩展不同的类,你无法隐藏JFrame的方法,从而导致在使用类时,JFrame的维护更加困难并且更容易触发意外的错误。 。

通常,其意图是严格使用类来绘制框架,并且优先于继承而不是继承。

话虽这么说,当你打算让子类向Frame添加项目特定功能(例如便捷方法等)时,子类应该很好,在这种情况下,将使用子类代替Frame本身,但通常将其用作框架,而不是作为应用程序中特定框架的视图。

2020-03-18