设计模式--适配器模式


    适配器模式是23中设计模式之一,它的主要作用是在新接口和老接口之间进行适配。将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。

举例:将MicroUsb输出通过TypeC适配器转换为TypeC输出。

适配器模式

public interface UsbInterface {
    public String dataInput() ;
    public String dataOutput() ;
}
public class MicroUsb implements UsbInterface {

    @Override
    public String dataInput() {
       return "USB输入数据";
    }

    @Override
    public String dataOutput() {
        return "MicroUsb数据";
    }
}
public class TypeCUsb implements UsbInterface{

    @Override
    public String dataInput() {
        return "USB输入数据";
    }

    @Override
    public String dataOutput() {
        return "TypeC数据";
    }
}
public class TypecAdapter implements UsbInterface {

    private MicroUsb microUsb;

    public TypecAdapter(MicroUsb microUsb) {
        this.microUsb = microUsb;
    }

    @Override
    public String dataInput() {
        if (microUsb != null) {
            return microUsb.dataOutput();
        }
        return null;
    }

    @Override
    public String dataOutput() {
        if (microUsb != null) {
            // 将MicroUsb 转换为TypeC
            return "TypeC数据";
        }
        return null;
    }

}
public class AdapterTest {
    public static void main(String[] args) {

        MicroUsb microUsb = new MicroUsb() ;
        System.out.println("MicroUsb输入: " + microUsb.dataInput());
        System.out.println("MicroUsb输出: " + microUsb.dataOutput());;

        System.out.println("=============");
        TypecAdapter typecAdapter = new TypecAdapter(microUsb) ;
        System.out.println("TypecAdapter输入: " + typecAdapter.dataInput());;
        System.out.println("TypecAdapter输出: " + typecAdapter.dataOutput());;

    }
}

MicroUsb输入: USB输入数据

MicroUsb输出: MicroUsb数据

=============

TypecAdapter输入: MicroUsb数据

TypecAdapter输出: TypeC数据





设计模式 适配器模式

2020.12.28 21:25

https://www.meihaocloud.com.com/1015.html , 欢迎转载,请在文章页标出原文连接 !


Copyright © 2020 千夕网 联系站长

粤公网安备 44030302001408号 粤ICP备19099833号-1