适配器模式,就像遥控器一样,把其他不一样的按钮功能(接口),组合在一起,在用遥控器进行统一再次封装,适配所有的按钮。
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
一个已经存在的类,但是他的接口不符合我的需求,不兼容。你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配他们的接口,对象适配器可以适配他的父类接口。
已经存在的子类,适配的对象
public class Adaptee { public void adapteeMethod(){ System.out.println("适配方法"); } }
适配器接口
public interface Target { /** * 适配的接口 */ void adapteeMethod(); /** * 新增接口 */ void adapterMethod(); }
接口实现
public class Adapter implements Target{ private Adaptee adaptee; public Adapter(Adaptee adaptee) { this.adaptee = adaptee; } @Override public void adapteeMethod() { this.adaptee.adapteeMethod(); } @Override public void adapterMethod() { System.out.println("新增接口"); } }
测试
public static void main(String[] args) { Target target = new Adapter(new Adaptee()); target.adapteeMethod(); target.adapterMethod(); }