适配器模式

在这里插入图片描述

介绍

将一个类的接口转换成客户希望的另一个接口,Adapter模式使得原本由于接口不兼容而不能在一起工作的那些类可以在一起工作。

角色分析

  • 目标接口:客户所期待的接口,目标可以是具体的或抽象的类,也可以是接口
  • 需要适配的类:需要适配的类或者适配者类
  • 适配器:通过包装一个需要适配的对象

在这里插入图片描述

实例USB-上网

在这里插入图片描述

//computer


package Eadapter;

/**
 * @Author Zhou  jian
 * @Date 2020 ${month}  2020/6/30 0030  15:41
 * 客户端类:想上网,差不性阿訇网线
 */
public class Computer {

        //我们的电脑需要联结转接器才可以实现请求
        public void net(NetToUSB adpter){
            //上网的具体实现,找一个转接头
            adpter.handlerRequest();

        }

}

//需要是噢诶的类:网线

package Eadapter;

/**
 * @Author Zhou  jian
 * @Date 2020 ${month}  2020/6/30 0030  15:38
 * 要被适配的类:网线
 */
public class Adptee {

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

}


//适配器接口


package Eadapter;

/**
 * @Author Zhou  jian
 * @Date 2020 ${month}  2020/6/30 0030  15:44
    接头装换器的抽象实现
 */
public interface NetToUSB {

    //作用:处理请求,网线===》usb\
    public void handlerRequest();



}


//适配器实现

package Eadapter;

/**
 * @Author Zhou  jian
 * @Date 2020 ${month}  2020/6/30 0030  15:45
 * 真正的适配器  ,需要联结USB ,连接网线
 */
public class Adapter implements NetToUSB{
    //网线组合
    private Adptee adptee;


    public Adapter(Adptee adptee) {
        this.adptee = adptee;
    }

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



Java中使用场景

  • Java中的Enumeration接口转换为Iterator接口
  • Java中的jdbc
  • 在 LINUX 上运行 WINDOWS 程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值