Java类之间的共享方法

Mag*_*won 2 java swing design-patterns

我在Java中有三个类似的类。它们保存三种不同形式的数据。

表单本身是这三个类的内部类,扩展了JPanel该类。它们具有标签,文本字段和按钮。这些组件添加到JPanel,我使用 addComponent()的方法,设置了GridBagConstraintsGridBagLayout

对于所有三个类,此方法都是相同的。我只想在一个地方编写这种方法,但我想不出一种优雅的方法。

我考虑过的一种方法是使原始类的formData超类保存此方法。如果有人有更好的主意,我将不胜感激。我是Java的初学者,我极力尝试简化代码。

key*_*ser 5

我可以想到两种方法来实现此目的:

  1. 包含经常使用的,定义明确的方法的实用程序类。

  2. 您从其继承的(可能是抽象的)超类。

如果您执行非特定于类的工作,例如格式化字符串,则最好使用实用程序类。

如果您执行特定于类的实例化/计算之类的工作,那么您可能想要一个超类。如果像FormData您的情况那样,可以想到超类的逻辑名称,那么最好是超类是您想要的。

您应该避免代码重复。几乎从来没有必要复制代码,并且当有必要时,可能是时候查看您的总体设计了。