适配器模式简介

  • 适配器模式是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它联合了两个独立接口的性能。
  • 这种模式波及到一个繁多的类,该类负责退出独立的或不兼容的接口性能。
类模式
要被适配的类TV和类Wire
//要被适配的类:电视public class TV {    //电视剧须要一个电源适配器,就能够供电,开机    public void open(IPowerAdapter iPowerAdapter) {        //关上电视,须要电,须要连贯电线,须要一个电源适配器        iPowerAdapter.power();    }}//要被适配接入的类:电线public class Wire {    public void supply() {        System.out.println("供上电了...");    }}
电源适配器接口IPowerAdapter
//电源适配器接口public interface IPowerAdapter {    //供电    void power();}
电线和电视机适配器类TVPowerAdapter(通过继承形式)
//真正的适配器,一端连贯电线,一端连贯电视public class TVPowerAdapter extends Wire implements IPowerAdapter {    @Override    public void power() {        super.supply();//有电了    }}
测试类
public class Test {    public static void main(String[] args) {        TV tv = new TV();//电视        TVPowerAdapter tvPowerAdapter = new TVPowerAdapter();//电源适配器        Wire wire = new Wire();//电线        tv.open(tvPowerAdapter);        /**         * 输入后果:         * 供上电了...         */    }}
测试后果
供上电了...
组合模式(举荐应用)
要被适配的类TV和类Wire
//要被适配的类:电视public class TV {    //电视剧须要一个电源适配器,就能够供电,开机    public void open(IPowerAdapter iPowerAdapter) {        //关上电视,须要电,须要连贯电线,须要一个电源适配器        iPowerAdapter.power();    }}//要被适配接入的类:电线public class Wire {    public void supply() {        System.out.println("供上电了...");    }}
电源适配器接口IPowerAdapter
//电源适配器接口public interface IPowerAdapter {    //供电    void power();}
电线和电视机适配器类TVPowerAdapter(通过组合形式)
//真正的适配器,一端连贯电线,一端连贯电视public class TVPowerAdapter implements IPowerAdapter {    private Wire wire;    public TVPowerAdapter(Wire wire) {        this.wire = wire;    }    @Override    public void power() {        wire.supply();//有电了    }}
测试类
public class Test {    public static void main(String[] args) {        TV tv = new TV();//电视        Wire wire = new Wire();//电线        TVPowerAdapter tvPowerAdapter = new TVPowerAdapter(wire);//电源适配器        tv.open(tvPowerAdapter);        /**         * 输入后果:         * 供上电了...         */    }}
测试后果
供上电了...