适配器模式(Adapter)

2020-12-01  本文已影响0人  bin丶

前言

设计模式系列代码均持续更新在我的gitHub:to github


I. 适配器模式工作原理


II. 适配器模式分类


III. 类适配器模式的类图

类图

IV. 类适配器模式代码

完整代码 github

public class Adapter extends Laptop implements TransferLine {

    public Adapter() {
        provideHDMI();
    }

    public String provideHDMI() {
        setPort("HDMI");

        return getPort();
    }
}


V. 对象适配器模式

public class Adapter implements TransferLine {

    private Laptop laptop;

    public Adapter(Laptop laptop) {
        this.laptop = laptop;
    }

    public String provideHDMI() {
        if (laptop != null) {
            laptop.setPort("HDMI");
        }

        return laptop.getPort();
    }
}

VI. 接口适配器模式

public interface AdapterInterface {
    void fun1();
    void fun2();
    void fun3();
    void fun4();
}
/* 以默认方式实现接口所有方法 */
public abstract class AbstractAdapter implements AdapterInterface {
    public void fun1() {}
    public void fun2() {}
    public void fun3() {}
    public void fun4() {}
}
/*  不想实现所有接口时,只需实现我们想要的方法就好 */
public class Client {
    public static void main(String[] args) {
        new AbstractAdapter(){
            @Override
            public void fun1() {
                System.out.println("=== 接口适配器 ===");
            }
        };
    }
}
上一篇 下一篇

猜你喜欢

热点阅读