package adapter;
/**
* @author jiq
* 类型:Structural
* 定义: 适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器模式让原本
* 接口不兼容的类,现在可以合作无间。
*
* OO原则:使用对象组合,以修改的接口来包装被适配者。
* 我们绑定的是客户(使用适配器一方)和接口,而不是绑定客户和实现。
*
* 与装饰器模式的区别: 适配器模式“将一个接口转换成另一个接口”,
* 而装饰器模式“不改变任何接口,而是加入新的责任”。
*
* 分类: 对象适配器(如下实例),类适配器(不常用)
*
* 另外一个改变接口的模式: Facade(外观)模式,但是它改变接口的原因是为了简化接口。
*
* 代码说明: 我有一个显示器Monitor,是用来显示图形的,它只能接收来自图形发送设备
* GrapTransmitter的信号,但是我现在只有一个CPU,他所能产生的数据无法被显示器
* 识别,即这两个设备不是兼容的。 这个时候我们就需要一个图形适配器GrapAdapter,
* 能够将CPU适配于显示器。
*/
//显示器
class Monitor{
GrapTransmitter gt;
public Monitor(GrapTransmitter gt){
this.gt = gt;
}
//显示图形发送设备发送过来的图形数据
public void showGrap(){
System.out.println(gt.getGrapData());
}
}
//图形发送设备
class GrapTransmitter{
public String getGrapData(){
return "grap Content";
}
}
//现在我只有一个CPU
class CPU{
//只能产生CPU数据
public int getCpuData(){
return 10;
}
}
/**
* 我们需要一个图形适配器,继承某一方(如这里GrapTransmitter),
* 同时内部包含一个被适配的类(CPU),通过重写其父类的方法来进行适配。
* */
class GrapAdapter extends GrapTransmitter{
private CPU cpu; //组合被适配的类
public GrapAdapter(CPU cpu){
this.cpu = cpu;
}
//重写父类的接口
public String getGrapData(){
return String.valueOf(cpu.getCpuData());
}
}
public class Adapter {
public static void main(String[] args) {
//用图形适配器包装CPU,转换成显示器期望的图形发送设备
GrapTransmitter gt = new GrapAdapter(new CPU());
//利用该图形发送设备创建一个显示器
Monitor monitor = new Monitor(gt);
monitor.showGrap();
}
}/**
* output: 10
*/
分享到:
相关推荐
适配器模式是一种结构型设计模式,用于解决两个不兼容接口之间的问题,它充当了两者之间的桥梁。适配器模式可以分为三种类型:类适配器模式、对象适配器模式和接口适配器模式。 类适配器模式中,适配器类通过继承...
JAVA-设计模式-结构型模式-适配器模式
c++设计模式-结构型模式-适配器模式,其他工程,c++源码。适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。
**适配器模式**(Adapter Pattern)属于结构型设计模式,它的目的是将一个接口转换成客户希望的另一个接口,从而使得原本由于接口不兼容而无法一起工作的那些类能够合作。适配器模式有两种形式:类适配器模式和对象...
适配器模式是一种在软件设计中广泛使用的结构型设计模式,它的主要目的是解决不同接口或类之间不兼容的问题,使得原本无法协同工作的组件能够协同工作。在这个“设计模式-适配器模式”的资源中,我们可以深入理解...
适配器模式(Adapter Pattern)是一种结构型设计模式,它允许不兼容的接口之间进行通信。这种模式可以在不修改现有代码的情况下重用现有类,并且可以使不兼容的接口之间进行通信。 适配器模式的定义 适配器模式是...
适配器模式(Adapter Pattern)是一种结构型设计模式,其主要目的是将一个类的接口变换成客户端所期待的另一种接口。通过这种方式,原本由于接口不兼容而无法一起工作的类可以顺利合作。适配器模式有两种实现方式:...
适配器模式是一种结构型设计模式,它的主要目的是使不兼容的接口能够协同工作。在实际开发中,我们可能会遇到这样的情况:一个类库或者服务提供了一个接口,而我们的代码需要使用另一个接口。适配器模式就充当了两者...
适配器模式是一种设计模式,属于结构型模式,它的主要目的是解决接口不兼容的问题,使得原本因接口不匹配而无法协作的类能够协同工作。适配器模式通过创建一个新的适配器类,将一个类的接口转换为客户期望的另一个...
适配器模式是一种结构型设计模式,它的主要目的是使不兼容的接口之间能够进行通信。在这个“讲故事,学(Java)设计模式—适配器模式”的主题中,我们将深入探讨这个模式的原理、应用和优势。 适配器模式的核心思想...
适配器模式是一种结构型设计模式,它的主要目的是解决不同接口之间的兼容性问题。在软件开发中,我们经常会遇到需要将一个类的接口转换为另一个接口的情况,这时适配器模式就能派上用场。适配器模式通过将不兼容的...
适配器模式是一种结构型设计模式,它允许不兼容的接口之间进行通信,通过创建一个适配器对象作为中间桥梁,使得原本不匹配的接口能够协同工作。在软件开发中,适配器模式的应用十分广泛,尤其是在处理遗留系统或者...
适配器模式是一种在软件设计中广泛使用的结构型设计模式,它的主要目的是解决不同系统、类库或组件之间的接口不兼容问题,使原本无法协同工作的模块能够顺利地一起工作。适配器模式的核心思想是“转换”,通过创建一...
适配器模式(Adapter Pattern)是一种结构型设计模式,它允许两个不兼容的接口之间进行通信。在实际应用中,我们常常遇到这样的情况:一个系统需要使用现有的类,但其接口与系统的需求不匹配。适配器模式能解决这种...
适配器模式(Adapter Pattern)是一种结构型设计模式,旨在将一个类的接口转换为客户端期望的另一个接口,从而使原本由于接口不兼容而无法一起工作的类能够协同工作。适配器模式通过引入一个适配器类,解决了接口不...
适配器模式(Adapter Pattern)是一种结构型设计模式,它主要解决的是接口不兼容的问题,使得原本由于接口差异无法一起工作的类能够协同工作。在PHP中,适配器模式通过创建一个包装类(适配器类)来转换不兼容的接口...
适配器模式是软件设计中的一种常用模式,属于结构型模式。其核心目的是解决两个已有接口之间不兼容的问题,使它们能够协同工作。适配器模式可以看作是软件开发中的“桥梁”或“转换器”,在不修改原有接口的基础上,...
适配器模式是一种在软件工程中广泛使用的结构型设计模式,它允许两个不兼容的接口之间进行通信。在Java中,适配器模式扮演着重要的角色,尤其在处理遗留代码或者第三方库集成时,能够有效地解决接口不匹配的问题。...
适配器模式是一种结构型设计模式,它的主要作用是在不修改原有类的情况下,使两个接口不兼容的类能够协同工作。在Java中,适配器模式有两种形式:类适配器和对象适配器。类适配器模式通过继承目标接口和适配者类来...