java中的抽象类与接口

时间:2016-11-21 02:23:53

标签: java interface

我有一个用例,其中一堆类具有类似的范例,需要实现一个通用接口。所有这些类都有一些共同点,因此我决定在抽象类中抽象它们。例如,

class AbstractImpl<K, V> {
  protected abstract V doGet(K key);

  protected abstract void insert(K key, V value);

  public void get(K key) {
    doGet(key);
    // generic implementation for all classes
  }

  public void insert(K key, V value) {
     doInsert(key, value);
    // generic implementation
  }
}

class ConcreteImpl extends AbstractImpl {
  // custom implementation goes here
}

我的问题是,我应该有一个带有get(K)和插入(K,V)的接口,AbstractImpl应该扩展吗?我知道有一个界面来强制执行强大的合同是一种好习惯。但是在像这样的用例中,没有接口可以吗?添加我在这个用例中看到的接口的唯一好处是,明天如果我有另一个具有自己的doGet和doInsert实现的实现(我不会在不久的将来预见),它会有所帮助。我还有其他原因需要接口吗?

0 个答案:

没有答案