java - 继承类中的多个方法

标签 java inheritance interface

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

程序中有些部分需要调用methodA,有些部分需要调用methodB,有些部分需要两者都调用。这些方法的实现在整个程序中是相同的。

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

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

如果我能说服团队中的其他人,我只能使用 Java 6. 7,因此 Java 8 附带的默认方法实现不是一个选项。

附:我意识到问题的标题是一个非常糟糕的问题,但我想不出一种简单的方法来解释这个问题。如果有的话请推荐更好的。

最佳答案

从我的头顶上下来:

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 {
 }

关于java - 继承类中的多个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19658057/

相关文章:

database-design - 使用 CTP4 Code First 的外键作为 EF4 中的 TPH 鉴别器

android - 如何在Android中从一个接口(interface)传递给其他接口(interface)

java - H2DB和Java,大约>两个小时的差异

java - 如何使用 spring 从属性文件加载 map

node.js - 如何在 Node.js 的模块内使用 Object.create 进行继承

c++ - 模板实例化不 "do inheritance"

C 中的 C++ 函数给出警告 : Implicit declaration of Function

c++ - 基类c++子类通用设计接口(interface)

java - 如何打印存储在数组中的对象的实例

java - 使用多个表单在 View 上提交表单时出现 Spring "Neither BindingResult nor plain target object for bean name"错误