如何在更改接口时最小化要修改的类数

Nag*_*eep 4 java design-patterns

有一个接口Accountable有2种方法.实现Accountable接口有9个类.

public interface Accountable{
    boolean isAccountable();
    float getWorth();
}
Run Code Online (Sandbox Code Playgroud)

我们有一个新的要求如下:另外两个方法声明要添加到接口.但我们需要尽量减少对现有类的影响.有人告诉我,我们可以使用适配器来解决问题.但我不知道该怎么做.有谁可以帮我解决这个问题?

Kon*_*bun 8

使用java 8,您可以在接口中声明默认实现:

public interface Accountable{
  boolean isAccountable();
  float getWorth();
  default int someMethod() {return 0;}
}
Run Code Online (Sandbox Code Playgroud)

如果使用旧的java,唯一的方法是将抽象类添加为middlware,但由于java不支持多重继承,因此可能会很痛苦.