适配器模式可以解决不兼容的问题
它通过增加额外的间接层来,客户端调用间接层,从而实现“转换”的目的。
package adapterPattern;
public class Consultant {
private final String name;
public Consultant(String name) {
this.name = name;
}
/**
* Client将要调用的方法.
*/
public void showSmile() {
System.out.println("Consultant" + name + " showed smile");
}
}
package adapterPattern;
public interface IEmployee {
/**
* Client直接调用的方法.
*/
public void ShowHappiness();
}
package adapterPattern;
/**
* 适配器,一继承(继承被调用的),一实现(实现直接调用的接口).
* @author wwe
*
*/
public class EmployeeAdapter extends Consultant implements IEmployee {
public EmployeeAdapter(String name) {
super(name); //实现父类的构造
}
@Override
public void ShowHappiness() {
showSmile();
}
}
package adapterPattern;
public class Client {
public static void main(String[] args) {
IEmployee em = new EmployeeAdapter("Sophie");
em.ShowHappiness();
}
}
最终控制台输出
ConsultantSophie showed smile