适配器模式——结构型

72 阅读1分钟

1.白话文定义

通过继承或依赖已有的对象,使得原本不兼容的接口实现一起使用的目的。

2.角色

(类适配器/对象适配器)

1.待适配的类:需要进行适配的类;

2.目标接口类:用户期待的接口,目标可以是具体的类或抽象的类,也可以是接口;

3.适配器类:通过继承/实现提供适配接口。

3.类图

image.png

4.代码实现

1.待适配器类

public class Adaptee {
    
    public void usbCharge() {
        System.out.println("usb 插槽充电");
    }
}

2.目标接口类

public interface Target {
    
    /**
     * @desc typeC充电
     */
    void typecCharge();
}

3.适配器类

public class Adapter extends Adaptee implements Target {
    private Adaptee adaptee;

    public Adapter(Adaptee adaptee) {
        this.adaptee = adaptee;
    }

    @Override
    public void typecCharge() {
        adaptee.usbCharge();
        System.out.println("typec 插槽充电");
    }
}

4.调用者类

public class Mobile {
    
    public void charge(Target target) {
        target.typecCharge();
    }
}
public class Main {
    
    public static void main(String[] args) {

        Mobile mobile = new Mobile();

        Adaptee adaptee = new Adaptee();

        //通过适配器,兼容usb充电插槽
        mobile.charge(new Adapter(adaptee));
    }
}

5.参考

适配器模式