如何避免扩展不同类的两个相似类之间的代码重复

时间:2014-04-10 11:43:47

标签: java code-duplication

我正在开发一个Java项目,我必须使用占位符为登录窗口实现文本字段。要做到这一点,我从JTextField获得了JPasswordField的课程,并创建了第二个课程基本相同,只是扩展JTextField而不是JTextField

如上所述,这些类当然几乎完全相同,只是一个扩展JPasswordField,而另一个扩展{{1}}。我一直在寻找一种方法来修复此代码重复,但似乎找不到有效的方法,但我确信它是可行的。

我已经想到了一个抽象类,但是你不能扩展两个类,所以这似乎不可能......

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

在这种情况下,您可以使用Delegate Pattern减少代码重复。在外部类中放入通用逻辑,并在自定义JPasswordField / JTextField中包含它的实例。