Does the phrase "favor composition over inheritance" apply to Swing components? I'd like to gather some professional opinions about the subject and which code is easier to maintain before I go ahead and design a UI.
问问题
593 次
2 回答
6
“优先组合胜过继承”这句话是否适用于 Swing 组件?
是的。
唯一一次我扩展 Swing 组件是当我需要重写一个或多个方法时。例如,当我想覆盖paintComponent 方法时,我将扩展一个JPanel。
在所有其他时间,我的课程将包含我需要的 Swing 组件。这允许我分离我的类方法:
frame.getMethod();
来自 Swing 组件类方法:
frame.getFrame().getPreferredSize();
于 2012-07-10T15:00:58.870 回答
4
尝试这个..
1.如果我不使用类的所有方法或者这些方法不适用于我的类,我通常更喜欢使用组合而不是继承。
2.组合与HAS-A关系一起工作。
例如: 浴室有浴缸
Bathroom cannot be a Tub
3.最好使用继承,当它用于将某些功能强制到其子类时。
例如:
每辆四轮车都必须有转向、刹车、灯、车窗等……
必须能够加速,应用刹车等......
因此,它的子类必须具有使其成为四轮车的特征。
于 2012-07-10T14:48:28.173 回答