Java-适配器-设计模式(五)

说明

适配器模式可以将不匹配接口规范的类进行适配,解决不兼容的问题,具体看下面的例子。

UML
uml

代码

以连接手机或电脑的接口为例,假设设备默认使用typec接口的数据线连接,并且此接口遵循了设备的连接规范,但我们又想通过lighting接口的数据线连接,并且这个lighting接口没有遵循设备的连接规范,所以需要一个适配器来适配,代码如下。

/**
 * @author ctl
 * @date 2021/1/15
 * 连接规范
 */
public interface Connection {

    void connect();
}

默认的连接器,实现接口规范

/**
 * @author ctl
 * @date 2021/1/15
 * 这里是默认标准的连接器
 */
public class TypecConnection implements Connection {

    @Override
    public void connect() {
        System.out.println("默认通过typec接口连接");
    }
}

待适配的连接器,没有实现接口规范

/**
 * @author ctl
 * @date 2021/1/15
 * 这里表示已存在的,不可被修改的一个连接器
 */
public class LightingConnection {

    public void connect() {
        System.out.println("通过lighting接口连接");
    }
}

适配器

/**
 * @author ctl
 * @date 2021/1/15
 * 适配器
 */
public class LightingAdapter extends LightingConnection implements Connection {

    @Override
    public void connect() {
        super.connect();
    }
}

测试类

/**
 * @author ctl
 * @date 2021/1/15
 */
public class AdapterMain {

    public static void main(String[] args) {
        // 使用适配器前,只能通过typec连接
        Connection typecConnection = new TypecConnection();
        typecConnection.connect();

        // 使用适配器后,可以通过lighting连接
        Connection lightingAdapter = new LightingAdapter();
        lightingAdapter.connect();
    }
}

结果
结果

总结

上述只是最基本的一个demo,称为类的适配器,还有其他写法,比如将待适配的类作为属性放到适配器中,有委托执行的概念,称为对象适配器,这里就不再赘述了。
这种模式可以很好的将不兼容的类与接口进行兼容,使客户端在调用的时候是统一调用,并且可以在不修改原代码的前提下将不同的类适配到接口。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值