0
点赞
收藏
分享

微信扫一扫

设计模式——适配器

雨鸣静声 2022-01-17 阅读 76

GitHub - bailuoxi66/designMode

参考:【狂神说Java】通俗易懂的23种设计模式教学(停更)_哔哩哔哩_bilibili

1. 适配器【可以更好的建模】

 

首先:有网线

//要被适配的类  网线
public class Adaptee {

    public void request(){
        System.out.println("连接网线上网");
    }
}

  因为要面向接口编程,所以需要写一个转接头的接口

//接口转化器,面向接口编程
public interface NetToUsb {

    //处理请求,将网线插入到usb上呢
    public void handleRequest();
}

转化器可以接任意种类的网线,所以这里不能直接继承extends Adaptee. 

//真正的适配器,需要连接usb,连接网线
public class Adapter implements NetToUsb{

    //因为适配器可以连接任何的网线
    private Adaptee adaptee;

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

    @Override
    public void handleRequest() {
        adaptee.request();  //可以上网了
    }
}

电脑上网

//客户端类: 电脑【超薄】   想上网,但是插不上网线
public class Computer {
    public void net(NetToUsb netToUsb){
        //上网的具体实现,找一个转接头【将头脑中想要实现的东西,转化成代码实现的东西,会非常爽】
        netToUsb.handleRequest();
    }

    public static void main(String[] args) {
         //需要电脑、网线、适配器
        Computer computer = new Computer(); //电脑
        Adaptee adaptee = new Adaptee();    //网线
        Adapter adapter = new Adapter(adaptee);    //适配器

        computer.net(adapter);
    }
}

 

 

举报

相关推荐

0 条评论