在类中继承多个方法

时间:2013-10-29 12:20:13

标签: java inheritance interface

我有两种不同的方法需要在我的程序中重复,例如methodA和methodB。

程序的某些部分需要调用methodA,而其他一些部分需要调用methodB,有些需要同时调用它们。整个计划中这些方法的实施是相同的。

我应该如何构建类和方法以减少重复?我想到的第一件事就是我希望Java支持多重继承。

我想到的第二件事是将每个方法放在它们自己的接口中,并让类根据需要实现它们,但是这些方法的实现在整个程序中完全相同,因此必须定义每个班级的实施听起来不是一个好主意。

我仅限于Java 6. 7如果我可以说服我团队中的其他人,那么Java 8中的默认方法实现就不是一种选择。

P.S。我意识到问题的标题是非常糟糕的,但我想不出一个简单的方法来解释这个问题。如果您有任何建议,请建议更好。

4 个答案:

答案 0 :(得分:2)

脱离我的头顶:

public interface Foo{  
  public Object processA(Object first);
  public Object processB(Ojbect second);
}

public abstract class AbstractFoo implements Foo{
   protected AbstractFoo(){}

   public Object processA(Object o){
       // do stuff
       return null;
   }

   public Object processB(Object o){
       // do more stuff
       return null;
   }
 }

 public class ConcreteFoo extends AbstractFoo {
 }

答案 1 :(得分:0)

如果这是重构代码的一部分,为什么不能将重复代码放在一边(可能是私有的) methodC ,并从那些调用它们方法

答案 2 :(得分:0)

你应该有2个接口,但你可以有一个类实现这两个接口。

答案 3 :(得分:0)

这取决于你正在编写什么类型的程序。如果它是一个网络系统,我认为你应该对这两个程序进行建议,因为这是必要的。