在方法具有不同参数时创建接口

时间:2015-06-17 09:18:23

标签: java interface

我最近制作了一个小程序,涉及环绕JFreeChart库并制作了许多便利类,可以轻松制作图表并提供退出JPanel的现成对象,并且可以轻松放置并实现所有类基本上都有相同的功能和非常相似的参数。对我来说,创建一个接口并使每个类实现它是有意义的,但是有一个小小的hickup。

每种类型的图表都需要稍微不同的参数设置,例如饼图不关心时间轴,条形图有非常独特的时间点,折线图假装是实时的等等。

我知道参数可以在接口中指定为泛型类型,并在方法的实现中定义为具体类型,但是我从未见过可变数量的参数,所以我创建了重载方法的数量,这个让我思考:

“正确”的方式是什么?

  1. 就像我做的那样(懒惰的方式) - 将每个方法定义为接口中的重载,并使未使用的方法在错误的类中调用时抛出异常。
  2. 创建一个容器对象并传递它(看起来像浪费资源来传递包含例如饼图的时间序列数据的对象)
  3. 完全放弃使用界面,因为它完全不适合这种情况,并制作非常相似的单独类。
  4. 别的什么?
  5. 如果您提出一个或另一个选项,我想要回答理由。 我与1合作的理由是它使目的非常明确,但它似乎违反了接口背后的原则。

0 个答案:

没有答案