为什么要用适配器模式?
可以把一个类的接口变换成客户端所期待的另一种接口,我们通过增加一个新的适配器类来解决接口不兼容的问题,使得原本没有任何关系的类可以协同工作。
说白了就是为了让类之间能够一起工作,多增加了一个适配器类,解决兼容问题。
写法
采用对象适配器写法
//目标接口 public interface Target { void request(); } //原有类 public class ConcreteTarget implements Target { @Override public void request() { System.out.println("concreteTarget目标方法"); } } //被适配类(想让被适配器类和原有类一起工作) public class Adaptee { public void adapteeRequest() { System.out.println("被适配者的方法"); } } //适配器类 public class Adapter implements Target{ //被适配类是对象适配器的一个属性 private Adaptee adaptee = new Adaptee(); @Override public void request() { //... adaptee.adapteeRequest(); //... } } //这样它们就能够在一起工作了 public class Test { public static void main(String[] args) { Target target = new ConcreteTarget(); target.request(); Target adapterTarget = new Adapter(); adapterTarget.request(); } }