在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。
有两类适配器模式:
·对象适配器模式 - 在这种适配器模式中,适配器容纳一个它我包裹的类的实例。在这种情况下,适配器调用被包裹对 象的物理实体。
·类适配器模式 - 这种适配器模式下,适配器继承自已实现的类(一般多重继承)。
关于JAVA适配器的解释
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 ——Gang of Four
以电脑和鼠标为例。假如有一台笔记本,只有USB鼠标接口,那么代码如下:
UsbMouse.java
package Adapter;
public class UsbMouse {
public String getUsbMouse(){
return "USB鼠标";
}
}
Computer.java
package Adapter;
public class Computer{
UsbMouse mouse = new UsbMouse();
public void StartUp(){
String a = mouse.getUsbMouse();
System.out.println("获得"+a+"成功!");
}
}
测试代码,客户端Client.java
package Adapter;
public class Client {
public static void main(String[] args) {
Computer computer = new Computer();
computer.StartUp();
}
}
要是现在没有USB鼠标,只有PS2鼠标,那么怎么办呢?
代码如下:
新增一个PS2鼠标接口:MouseInterface .java
package Adapter;
//ps2鼠标接口
public interface MouseInterface {
public String getPS2Mouse();
}
PS2鼠标PS2Mouse .java
package Adapter;
public class PS2Mouse extends UsbMouse implements MouseInterface {
public String getPS2Mouse(){
return "PS2鼠标";
}
}
将之前的Computer.java改成如下代码:
package Adapter;
public class Computer{
//UsbMouse mouse = new UsbMouse();
PS2Mouse mouse = new PS2Mouse();
public void StartUp(){
String a = mouse.getUsbMouse();
String b = mouse.getPS2Mouse();
System.out.println("获得"+a+"成功!");
System.out.println("获得"+b+"成功!");
}
}
如上代码所示,增加了一个接口,和一个适配器(PS2鼠标)。电脑就可以获得PS2和USB的鼠标了
分享到:
相关推荐
适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在软件工程中,这种模式常被用来解决新旧系统对接、不同组件间的兼容性问题,或者为了复用已有代码而进行的接口转换。适配器模式的核心思想是...
适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在C++中,适配器模式可以通过类继承或者对象组合的方式实现。类适配器模式利用多重继承,让适配器类同时继承目标接口和适配者类,而对象适配器...
适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在实际的软件开发中,我们经常会遇到需要将现有类的功能融入到新系统中,但这些类的接口与新系统的要求不匹配的情况。适配器模式就提供了一个...
【适配器模式笔记1】 适配器设计模式是一种结构型设计模式,它允许不同的类协同工作,即使它们的接口不兼容。适配器模式的关键在于将一个类的接口转换成客户端期望的另一种接口,从而使得原本由于接口不兼容而不能...
适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在软件开发过程中,有时我们可能需要使用一些已经存在的类或组件,但它们的接口与我们的系统不匹配,这时候适配器模式就能派上用场。适配器模式...
适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在PHP开发中,当需要复用已有的类或者库,但它们的接口与当前项目的需求不匹配时,适配器模式就显得尤为有用。适配器模式主要有对象适配器和类...
适配器模式是一种设计模式,它在软件工程中扮演着重要的角色,特别是在处理不同系统、组件或类之间的接口不兼容性时。C#中的适配器模式同样遵循这一原理,帮助开发者解决接口不匹配的问题,使得原本无法协作的类能够...
适配器模式是一种设计模式,它允许不兼容的类或接口之间进行通信,通过创建一个适配器类作为中间桥梁,使得原本不匹配的接口能够协同工作。在Java中,适配器模式广泛应用于系统集成、旧代码复用以及第三方库的兼容性...
Java适配器模式定义与用法示例 Java适配器模式是一种结构型设计模式,用于将一个类的接口转换成客户想要的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。该模式主要包括三个角色:目标、...
Java 适配器模式详解 Java 适配器模式是一种结构型设计模式,主要用来解决不同接口之间的不兼容问题。在软件开发中,经常会遇到两个不同的接口之间需要进行交互的情况,这时就需要使用适配器模式来解决问题。 ...
适配器模式
适配器模式分为类适配器模式和对象适配器模式,还有缺省适配器模式。 1. **类适配器模式**: 在类适配器模式中,适配器类通过继承被适配类(Adaptee)并实现目标接口(Target)。这种方式下,适配器和被适配类之间...
适配器模式有两种:类适配器模式和对象适配器模式。其中类适配器模式使用继承方式,而对象适配器模式使用组合方式。由于类适配器模式包含双重继承,而PHP并不支持双重继承,所以一般都采取结合继承和实现的方式来...
适配器模式是一种在软件设计中广泛使用的结构型模式,其主要目的是解决不同接口或类之间接口不兼容的问题,使得原本不能一起工作的类能够协同工作。适配器模式通过创建一个适配器类,将旧的或不兼容的接口转换为客户...
适配器模式是一种设计模式,它的主要目的是解决不兼容接口之间的通信问题,使得原本由于接口不匹配而无法协同工作的组件可以有效地协作。在软件工程中,适配器模式扮演着“桥梁”的角色,将旧的或者不同的接口转换成...
适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在C#中,适配器模式常用于解决系统中的类之间接口不匹配的问题,使得原本无法一起工作的类可以协同工作。适配器模式的核心思想是将一个类的接口...