06设计模式-结构型模式-适配器模式

导读:本篇文章讲解 06设计模式-结构型模式-适配器模式,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

9.1 现实生活中的例子

泰国插座用的是两孔的(欧标),可以买个多功能转换插头 (适配器) ,这样就可以使用了。
在这里插入图片描述

9.2 基本介绍

适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)
适配器模式属于结构型模式,主要分为三类:类适配器模式、对象适配器模式、接口适配器模式。

9.3 工作原理

(1) 适配器模式:将一个类的接口转换成另一种接口,让原本接口不兼容的类可以兼容
(2) 从用户的角度看不到被适配者,是解耦的
(3) 用户调用适配器转化出来的目标接口方法,适配器再调用被适配者的相关接口方法
(4) 用户收到反馈结果,感觉只是和目标接口交互,如图

在这里插入图片描述
// 被适配类

package com.xusj.future.structural.adapter;

/**
 * @author xusj
 * <br>CreateDate 2022/7/26 23:22
 */
public class V220V {
    public int out220v() {
        return 220;
    }
}

// 目标适配接口

package com.xusj.future.structural.adapter;

/**
 * @author xusj
 * <br>CreateDate 2022/7/26 23:24
 */
public interface V5V {
    int translateM(int v);
}

// 适配器

package com.xusj.future.structural.adapter;

/**
 * @author xusj
 * <br>CreateDate 2022/7/26 23:24
 */
public class Adapter implements V5V {
    // 聚合被适配类
    private V220V v220V;

    // 构造方法
    public Adapter(V220V v220V) {
        this.v220V = v220V;
    }


    // 实现目标接口,进行适配
    @Override
    public int translateM(int v) {
        return v220V.out220v() / 2;
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/96222.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!