阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Java设计模式之适配器模式的示例

66次阅读
没有评论

共计 1272 个字符,预计需要花费 4 分钟才能阅读完成。

导读 适配器模式,即将某个类的接口转换成客户端期望的另一个接口的表示,主要目的是实现兼容性,让原本因为接口不匹配,没办法一起工作的两个类,可以协同工作。本文将通过示例详细介绍适配器模式,需要的可以参考一下
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();// 调用苹果充电器,给小米手机充电}
}

到此这篇关于 Java 设计模式之适配器模式的示例详解的文章就介绍到这了

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1272字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中