设计模式--适配器模式

1.什么是适配器模式?

将一个类的接口转换成为客户希望的另外一个类的接口。适配器(Adapter)模式是的原本由于接口不兼容而不能在一起工作的类,可以一起工作。

比如,小米充电器,可以给小米手机充电,目前,想让苹果充电器给小米手机充电。如何完成,这时候需要一个适配器,将小米充电器和苹果充电器连在一起。

2.如何实现?

1)目标接口,该接口是客户想要使用的接口(苹果充电器)

2)被适配者,是一个已经存在的接口或抽象类。(小米充电器)

3)适配器,是一个类,该类实现了目标接口,并包含被适配者的引用。

适配器的职责是对被适配者接口(抽象类)与目标接口进行适配

3.代码实现

1)目标接口

/**
 * 目标接口,苹果充电器
 */
public interface AppleCharger {
    public void appleCharger();
}

2)被适配者

/**
 *被适配者,小米充电器
 */
public interface MiCharger {
    public void miCharger();
}

3)小米手机使用小米充电器进行充电

/**
 *小米手机,实现小米充电器接口,可以充电
 */
public class MiPhone implements MiCharger {
    @Override
    public void miCharger() {
        charging();
    }

    public void charging(){
        System.out.println("MiPhone charging.....");
    }
}

4)适配器。需要调用苹果充电器的方法给小米手机充电。

     该类实现了目标接口(AppleChager),并包含被适配者引用(MiCharger)

/**
 * 适配器,
 * 该类实现目标接口AppleCharge,并包含被适配者(MiCharger)的引用
 */
public class AppleAdapter implements AppleCharger {
    MiCharger charge;
    public AppleAdapter(MiCharger b){
        this.charge = b;
    }

    /**
     * 调用苹果充电器的方法
     */
    @Override
    public void appleCharger() {
        //给使用小米充电器的设备充电
        charge.miCharger();
    }
}

5)测试类

public class TestMain {
    public static void main(String args []){
        AppleAdapter adapter = new AppleAdapter(new MiPhone());
        adapter.appleCharger();//调用苹果充电器,给小米手机充电
    }

}

4.总结与拓展

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

niuyongzhi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值