5 适配器(Adapter)模式

1. 含义

把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作.

 

2. 类图

类适配

对象适配


3. 类代码

类适配

/**
 * 目标角色,期望得到的接口
 */
public interface Target {

	/**
	 * 这是源类也有的方法
	 */
	void sampleOperation1();

	/**
	 * 这是源类没有的方法
	 */
	void sampleOperation2();

}


/**
 * 源角色,需要适配的接口
 */
public class Adaptee {
	//源类含有的方法
	public void sampleOperation1() {
	};
}


/*
 * 适配器角色,把源接口转换成目标接口
 */
public class Adapter extends Adaptee implements Target {

	/**
	 * 由于源类没有这个方法,因此适配器类补充上这个方法
	 */
	public void sampleOperation2() {

	}

}


/*
 * 测试类
 */
public class Test {

	public static void main(String[] args) {
		Adapter a = new Adapter();
		a.sampleOperation1();
		a.sampleOperation2();
	}
}
 

对象适配

/*
 * 适配器角色,把源接口转换成目标接口
 */
public class Adapter implements Target {
        
        //把源类作为一个属性
	private Adaptee adaptee ;
	
	public Adapter(Adaptee adaptee) {
		super();
		this.adaptee = adaptee;
	}

	/**
	 * 源类有该方法,所有适配器类直接委派即可
	 */
	public void sampleOperation1() {
		adaptee.sampleOperation1();
	}

	public void sampleOperation2() {
	}
}


/*
 * 测试类
 */
public class Test {

	public static void main(String[] args) {
		
		Adapter a = new Adapter(new Adaptee());
		a.sampleOperation1();
		a.sampleOperation2();
	}
}
 

z

红外弱小目标检测:IPI算法解读及MATLAB复现 参考文献:[1]C. Gaoet al., “Infrared Patch-Image Model for Small Target Detection in a Single Image,” vol. 22, no. 12, pp. 4996–5009, 2013. 本文整理????论文笔记,并附MATLAB实现代码。 一、阅读笔记 1. 摘要 IPI算法是单帧检测算法; 利用背景的非局部子相关性(non-local self-correlation ofbackground),将目标检测转.. 阅读详情

相关推荐

从充电管理芯片里‘偷师’:拆解一个PMOS双向开关电路,搞定你的固态继电器需求

本文深入解析了PMOS双向开关电路在固态继电器应用中的设计要点,重点探讨了防电流倒灌和高侧双向开关的实现技巧。通过拆解充电管理芯片中的PMOS背靠背结构,工程师可以构建高效可靠的固态开关方案,适用于智能硬件和电池管理系统。文章还提供了关键参数选择、电路优化建议及实测数据对比,助力解决电源防反接等工程难题。

weixin_33698043的博客 485

java 24种设计模式之五适配器模式

模式的结构与实现 1. 模式的结构 适配器模式(Adapter)包含以下主要角色。 目标(Target)接口:当前系统业务所期待的接口,它可以是抽象类或接口。 适配者(Adaptee)类:它是被访问和适配的现存组件库中的组件接口。 适配器(Adapter)类:它是一个转换器,通过继承或引用适配者的对象,把适配者接口转换成目标接口,让客户按目标接口的格式访问适配者。 类适配器模式的结构图...

xiaochuangchuang_的博客 964

详细Ubuntu 22.04 配置最新UR机械臂仿真环境(ros2-humble, ur-sim, ur-ros2-driver)

使用ubuntu22.04.01和ur-sim, ur-driver进行ur机械臂的仿真

verloge的博客 1万+

Adapter 适配器模式

一、Adapter 适配器模式     将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能在一起工作的类可以一起工作。     适配器在我们生活中随处可见,就拿我们常用的电子设备笔记本电脑来说,笔记本需要使用的是直流电源,而我们生活中的电都是交流电,这个时候就需要使用电源适配器将交流电转换为直流电,这就是适配器模式的使用。     适配

无德皇叔的博客 465

汽车OTA自动化测试解决方案

目前OTA远程升级技术已成为众多汽车制造商的标配。由于OTA升级可能会带来潜在的风险(特别是包含ECU固件更新的FOTA升级),针对OTA系统的测试过程就尤为重要。

东舟技术的博客 7760

利用BMC和KVM远程安装联想服务器Ubuntu 22.04的完整指南

本文提供了一份详尽的指南,介绍如何利用联想服务器的BMC(基板管理控制器)和KVM(键盘、视频、鼠标)重定向功能,远程安装Ubuntu 22.04 LTS操作系统。内容涵盖从准备工作(如获取BMC信息、配置Java环境)、登录BMC并启动远程控制台,到挂载ISO镜像、设置引导以及完成Ubuntu安装与后续配置的全过程。该方法能极大提升服务器部署与运维效率,尤其适用于无法物理接触服务器的场景。

p8q9r0的博客 625

设计模式(5)--Adapter 适配器

前面4种模式都是与创建对象相关,适配器开始,是与程序结构相关的模式,即以合理的结构组织程序达到设计模式准则。 从前,Adaptee实现的是OldTarget接口,实现了SpecialRequest()方法,Adaptee工作的很好。突然,改变来了,新的软件版本发布,集合的遍历器变成了新的iterator。接口也变成了Target,Target接口里给出的是request方法。 从新软件版本使

Face3的博客 626

【Python进阶】VSCode Python开发完全指南:从环境配置到高效调试

本文通过15个实战案例,系统讲解VSCode进行Python开发的环境配置、编码技巧、调试方法及性能优化,帮助初学者快速构建专业开发环境。

赶紧的博客 3772

设计模式-5--适配器模式(Adapter Pattern)

适配器模式(Adapter Pattern)是一种结构型设计模式,它允许将一个类的接口转换成客户端所期望的另一个接口。适配器模式主要用于解决不兼容接口之间的问题,使得原本由于接口不匹配而无法一起工作的类能够协同工作。目标接口(Target Interface):客户端所期望的接口,适配器将现有的接口转换成这个目标接口。适配器(Adapter):适配器类实现了目标接口,同时持有一个需要被适配的对象。适配器通过适配被适配对象的接口,使其能够符合目标接口的要求。被适配对象(Adaptee)

人生若只能如初见的博客 989

Python办公自动化 2.1开发环境搭建:PyCharm社区版配置Anaconda开发环境

本篇文章主要讲述了如何在windows主机上配置 PyCharm + Anaconda开发环境、以及了如何配置 PyQt界面开发环境,安装过程超级详细,初学者可以照着一步一步来!

超级大洋葱的博客 2585

[RK-Linux] 移植Linux-5.10到RK3399(十)| 配置AP6256模组使能WIFI、BT功能

[RK-Linux] 移植Linux-5.10到RK3399(十)| 配置AP6256模组使能WIFI、BT功能

Systemcall名屋 2983

设计模式学习5 -- 适配器模式(Adapter)

 1.   适配器模式(Adapter)1.1. 单向适配器模式1.1.1.  概述l         场景:有两个类n         Class A{ public void funA(){/*A代码 */ }}n         Class B{ public void funB(){/*B代码 */ }}l         这两个模块本来没有任何关系,但是应用中

崇尚狼性的专栏 979

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

5. Adapter Pattern(适配器模式)

一、 适配器(Adapter)模式 概述: 在软件开发过程中,我们要经常要复用我们以前开发的一些“现存对象”,但是这些“现存对象”并不能满足我们新的应用环境。怎样才能良好的复用这些对象,以满足我们的应用环境,这就是适配器(Adapter)所要解决的问题。将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

enlyhua的专栏 665

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【设计模式 - 5】之适配器模式(Adapter)

1      模式简介 适配器模式解决的问题:让原本因为接口不兼容而不能一起工作的类可以一起工作。   适配器模式的UML原理图如下图所示: 从上图可见,客户想要用Target接口实现Adaptee接口中的方法,但这显然是不可能的。因此,我们需要定义一个适配器类Adapter,让它在Target和Adaptee之间做一个“调停者”,进而达到Target和Adaptee的适配。

ITGungnir 664

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

《设计模式》 - 5. 适配器模式( Adapter )

适配器模式 (Adapter) : 以一个游戏主角为例 , 刚开始主角只有普通攻击和一个技能 - 重击 . //主角 var Character = cc.Class.extend({ Attack : function(){ console.log("普通攻击"); }, Skill : function(){ console.log("重击

Yu 2146

设计模式(5)——适配器模式(Adapter Pattern)

对于android开发者来说起,适配器模式简直太熟悉不过,有很多应用可以说是天天在直接或者间接的用到适配器模式,比如ListView。 ListView用于显示列表数据,但是作为列表数据集合有很多形式,有Array,有Cursor,我们需要对应的适配器作为桥梁,处理相应的数据(并能形成ListView所需要的视图)。 正是因为定义了这些适配器接口和适配器类,才能使我们的数据简单灵活而又正确的显

HGuang_ZJH的专栏 908

设计模式(5)-适配器模式(Adapter Pattern)

适配器模式(Adapter Pattern),顾名思义,就像变压器,转接头差不多。就像美国的生活电压是110V,中国是220V,就需要一个变压器将220V转换成110V,或者一个Type-C接口想插如USB接口的东西,你就需要一个转换器,而这就是我们适配器模式干的事情。 适配器常用的有:类适配器,对象适配器,接口适配器。 通常包含三个角色: 目标(Target)角色:客=客户端所期待的接口,...

Soda_lw的博客 319

深入浅出设计模式(5)——适配器模式(Adapter)

一、功能   将一个类的接口转换成客户希望的另外一个接口,解决两个已有接口之间不匹配的问题。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 二、结构图   (1)class adapter     (2)object adapter 三、实现   和其他很多模式一样,学习设计模式的重点是学习每种模式的思想,而不应拘泥于它的某种具体结构图和实现

Secret Island 1454

23种设计模式-5.适配器模式(Adapter Pattern)

适配(转换)的概念无处不在...... 适配,即在不改变原有实现的基础上,将原先不兼容的接口转换为兼容的接口。 例如:二转换为三箱插头,将高电压转换为低电压等。      动机(Motivate):     在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。     那么如何应对这种“迁移的变化”?如何既能利

xingcangzaiwo的专栏 387

apollo2.5源码解析之适配器模式

本博客主要参考https://blog.youkuaiyun.com/davidhopper/article/details/79197075和https://zhuanlan.zhihu.com/p/50523482,在此表示感谢。 适配器模式介绍 适配器模式的作用是将一个类的接口转换成客户希望的另外一个接口看,使得原本由于接口不兼容而不能一起工作的类可以一起工作。从实现上可以将适配器模式分为两种...

liyi1149549057的专栏 648

设计模式之适配器模式(Adapter)

适配器模式将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)。 需要被适配的类、接口、对象(我们有的),简称 src(source),最终需要的输出(我们想要的),简称 dst (destination,即Target) 适配器称之为 Adapter 。 src->Adapter->ds...

gk 243

适配器模式:

适配器模式: 简单介绍:适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本 因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper) 主要分为三类:类适配器模式、对象适配器模式、接口适配器模式 代码实现: 被适配者 service public class Voltage {// 创建一个被适配者 这...

上山打卤面的博客 197

设计模式——适配器模式原理及源码实现

一、简介 适配器模式(Adapter):将一个类的接口转化成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类一起工作。 通俗讲,就是将原本不能直接调用的接口,通过新的接口或类进行封装后,提供新的接口在内部进行转化,从而使用之前的接口。 实现方式分为三类:类适配器模式、对象适配器模式、接口适配器模式。 三者的区别在与Adapter和Adaptee的关系以哪种方式进行关联。 二、结构图 三、代码实现 实现:将220V电压转换为5V电压对手机充电。 1、A

张先生和他的金毛的博客 419

【期末闭卷】设计模式之适配器模式:220V 转 5V 这道代码题,我见过最离谱的错误答案

去年期末最后一道代码题,14 分,适配器模式。题目很标准:“现有 220V 交流电源类AC220V,手机充电器需要 5V 直流输入。请用适配器模式设计,使手机可以通过 220V 电源充电。我改到第三十七份卷子的时候,看到了今年最让我沉默的答案。这位同学写了一个类叫AdapterSystem.out.println("正在充电");然后他在旁边画了一条线,从AC220V连到Phone,线上标注:“适配器连接两者”。兄弟。你这不是适配器,你这是画了根电线。适配器模式的核心不是"连接",是转换。

吾为热爱计科,致力于知识分享的践行者,此博客是我在这条道路上留下的足迹。 25

VMware Network Adapter VMnet1 VMnet8显示“无法识别网络”的解决办法(Win7 32位)

VMware Network Adapter VMnet1 和VMware Network Adapter VMnet8显示“无法识别网络”

m0_65105085的博客 5万+
上一篇: 4 原始模型(Prototype)模式
下一篇: 6 合成(Composite)模式
O2AtomLife
博客等级 码龄19年 2粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值