我有一个JFrame
'A'
,我想提供一个非常相似的,但有额外的按钮和不同的功能。我想知道我是否应该继承'A'
然后覆盖处理程序方法,添加组件,或者是否建议采用不同的方法。
答案 0 :(得分:2)
在大多数情况下,首选组合而不是遗传。在这种情况下,它取决于A中有多少代码。您可以使用策略模式来代码中的变异点,但在大多数情况下,遗传将是最不丑的。
答案 1 :(得分:2)
我个人更喜欢继承JPanels。我发现重用方面更倾向于使用UI面板并重用它们。
我构建Swing UI的方法是拥有一个JFrame并让它使用一个由可重用面板组成的面板,如果它们具有共同的功能。
如果您有一个共享通用功能的JFrame,那么您可能希望使用给定的CloseHandler和其他公共代码创建一个JFrame,然后让其他Jframe继承该公共代码。
答案 2 :(得分:1)
继承是这里最好的方式。
老实说,以另一种方式行事会涉及很多的工作。