允许具有不同父级的类在没有多重继承的情况下扩展类

时间:2013-07-08 22:42:46

标签: java oop inheritance multiple-inheritance

我的申请表有以下课程:

MyTextField,扩展了JTextField

但是,我需要以下类中的MyTextField内的方法:

MyPasswordField,扩展了JPasswordField

Java中不允许多重继承,因此我想避免复制粘贴85%的类。如何克服这个“限制”?

3 个答案:

答案 0 :(得分:4)

使用定义共享功能的帮助程序类。在MyTextFieldMyPasswordField中的每一个中声明一个字段以保存辅助类的实例。根据共享功能的需要,中继调用帮助程序,然后只需编码一次。

答案 1 :(得分:0)

为什么不使用Composition而不是Inheritance。 您的MyPasswordField类可以包含myTextField的实例变量,然后您可以使用您的实例及其方法来使用该方法。 让我知道如果我走错了路,你会发现不同的东西。

答案 2 :(得分:0)

您可以在具有静态方法的Helper类的帮助下实现此目的,因此您不需要在testfields类中保留辅助类的实例。