设计模式——适配器模式原理及源码实现

适配器模式是一种设计模式,用于将不同接口的类协同工作。本文通过一个实际例子,演示如何使用适配器模式将220V电压转换为5V,以便对手机进行安全充电。适配器模式分为类适配器、对象适配器和接口适配器三种实现方式,通过创建Adapter类来桥接Adaptee和Target接口,使得原本不兼容的接口得以兼容。
摘要由CSDN通过智能技术生成

一、简介

适配器模式(Adapter):将一个类的接口转化成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类一起工作。

通俗讲,就是将原本不能直接调用的接口,通过新的接口或类进行封装后,提供新的接口在内部进行转化,从而使用之前的接口。

实现方式分为三类:类适配器模式、对象适配器模式、接口适配器模式

三者的区别在与Adapter和Adaptee的关系以哪种方式进行关联。

二、结构图

三、代码实现

实现:将220V电压转换为5V电压对手机充电。

1、Adaptee(220V电压)

public class Voltage220V {
    public void output220V() {
        System.out.println("220v充电");
    }
}

2、Target(转换后的接口)

public interface Voltage5V {
    void output5V();
}

3、Adapter(转换的实现类)

public class VoltageAdapter extends Voltage220V implements Voltage5V{
    @Override
    public void output5V() {
        //输出220,然后进行转化后将220V转化为5V
        output220V();
        System.out.println("处理后输出为5V");
    }
}

4、Phone(手机类,使用充电接口)

public class Phone {
    public void charge(VoltageAdapter adapter){
        adapter.output5V();
        System.out.println("转换后的5V对手机充电");
    }
}

5、Client(测试类)

public class Client {
    public static void main(String[] args) {
        Phone phone = new Phone();
        phone.charge(new VoltageAdapter());
    }
}

备注:

  • 类适配器模式:Adapter作为子类继承Adaptee类。
  • 对象适配器模式:Adapter类中持有Adaptee类变量。
  • 接口适配器模式:Adapter类实现Adaptee接口。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值