设计模式(五)结构型模式---适配器模式(adapter)

适配器模式简介

适配器模式(adapter pattern)是将一个类的接口转换成客户希望的另外一个接口,使得原来由于接口不兼容而不能一起工作的,而能一起工作。

结构

  • 1.目标接口(Target):当前系统所期待的接口,它可以是抽象类或者接口。
  • 2.适配者类(Adaptee):它是被访问和适配的现存组件库中的组件接口。
  • 3.适配器类(Adapter):转换器,通过继承或者引用适配者的对象,把适配折接口转换城目标接口,让客户目标接口的格式访问适配者。

适配器分类

适配器根据适配对象不同,分为:类适配器、接口适配器、对象适配器。

类适配器(class adapter)

类适配器中的目标对象(Target)是一个接口,被适配者类(Adaptee)需要实现或者继承目标对象接口和被适配者的类。

具体实现

例子:将220V的电压转到5V。

UML图

在这里插入图片描述

代码实现

  • 5V电压接口(目标接口)
package com.xxliao.pattern.structure.adapter.class_adapter.demo;

/**
 * @author xxliao
 * @description: 5V电压接口,目标接口 - target
 * @date 2024/5/24 23:56
 */
public interface IVoltage5V {
   
   

    public int output5V();
}
  • 220V类(适配者类)
package com.xxliao.pattern.structure.adapter.class_adapter.demo;

/**
 * @author xxliao
 * @description: 现存适配者类
 * @date 2024/5/25 0:01
 */
public class Voltage220V {
   
   

    /**
     * @description  输出220V
     * @author  xxliao
     * @date  2024/5/25 0:04
     */
    public int output220V() {
   
   
        System.out.println("电压="+220+"V");
        return 220;
    }
}
  • 适配器类
package com.xxliao.pattern.structure.adapter.class_adapter.demo;

/**
 * @author xxliao
 * @description: 适配器类
 *
 * @date 2024/5/25 0:04
 */
public class Adapter extends Voltage220V implements IVoltage5V{
   
   
    
    @Override
    public int output5V() {
   
   
        int src = output220V();
        int dest 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

骑车上酒吧

帮到了您,有闲钱,再打赏哦~

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

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

打赏作者

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

抵扣说明:

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

余额充值