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