`

java适配器模式

    博客分类:
  • java
 
阅读更多

定义:
属于结构型模式,其主要作用是将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
比如你手机只有2.5mm接口(貌似就Nokia干的出来),但你只能买到3.5mm的,这时就需要买个适配器了(─.─|||
意图宗旨:
保留现有类所提供的服务,向客户提供接口,以满足客户的期望
什么时候可以使用它:
1你想使用一个已经存在的类,而它的接口不符合你的需求。没有2.5mm
2你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。
3你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口——仅适用于对象Adapter。

如何实现:
1类适配器

复制代码
 1 public class Adapter extends Adaptee implements Target{
 2     @Override
 3     public void getHeadset2() {
 4         this.getHeadset3();
 5     }
 6     public static void main(String args[]){
 7         Target target = new Adapter(); 
 8         target.getHeadset2();
 9     }
10 }
11 interface Target{
12     void getHeadset2();
13 }
14 class Adaptee{
15     public void getHeadset3(){
16         System.out.println("我是3.5mm的耳机哦");
17     }
18 }
复制代码

2对象适配器

复制代码
 1 public class Adapter implements Target{
 2     private Adaptee adaptee ;
 3     public Adapter() {
 4         super();
 5         this.adaptee = new Adaptee();
 6     }
 7     @Override
 8     public void getHeadset2() {
 9         adaptee.getHeadset3();
10     }
11     public static void main(String args[]){
12         Target target = new Adapter(); 
13         target.getHeadset2();
14     }
15 }
16 interface Target{
17     void getHeadset2();
18 }
19 class Adaptee{
20     public void getHeadset3(){
21         System.out.println("我是3.5mm的耳机哦");
22     }
23 }
复制代码

对象的适配器模式的不同之处在于Adapter角色封装了Adaptee角色,而不像类的适配器模式所采取的继承方式。其原理基本上是相似的
3缺省适配器模式
缺省适配器模式是一种特殊的适配器模式,但这个适配器是由一个抽象类实现的,并且在抽象类中要实现目标接口中所规定的所有方法,但很多方法的实现都是空方法。而具体的子类都要继承此抽象类。

转自:http://www.cnblogs.com/ikuman/archive/2013/01/26/2866755.html

分享到:
评论

相关推荐

    JAVA设计模式(抽象类与适配器模式)

    今天我们要探讨的是JAVA设计中的两个重要模式:抽象类与适配器模式。 首先,我们来理解一下“抽象”。抽象是面向对象编程的核心概念之一,它帮助我们处理对象的复杂性。在Java中,抽象通常通过抽象类来实现。抽象类...

    Java适配器模式_动力节点Java学院整理

    Java适配器模式 Java适配器模式是指将一个接口转换成客户希望的另外一个接口,使得原来由于接口不兼容而不能在一起工作的那些类可以一起工作。它是一种结构型模式,它可以帮助我们更好地实现接口之间的转换。 概念...

    JAVA适配器模式.pdf

    在上述描述的Java适配器模式中,我们可以看到适配器模式在Java语言中的具体应用。 首先,适配器模式涉及到几个关键的组件: 1. Target(目标接口):这是客户所期待的接口,目的是通过接口来实现所需的功能。 2. ...

    java 适配器模式

    在Java中,适配器模式是通过创建一个新的类(适配器类)来实现目标接口,该适配器类将原始类(被适配者)的接口转换为目标接口,使得原本不兼容的类可以协同工作。 适配器模式主要有两种形式:类适配器模式和对象...

    设计模式之适配器模式Java实现和类设计图

    在这个Java实现中,我们将深入探讨适配器模式的两大类型:类适配器模式和对象适配器模式,并通过具体的代码示例和UML类图来阐述其工作原理。 首先,我们来理解适配器模式的基本概念。适配器模式就像现实生活中的...

    java设计模式之适配器模式

    在Java中,适配器模式扮演着重要的角色,尤其在处理遗留代码或者第三方库集成时,能够有效地解决接口不匹配的问题。本文将深入探讨适配器模式的概念、类型、优点和如何在Java中实现。 一、适配器模式概念 适配器...

    Java适配器模式定义与用法示例

    Java适配器模式定义与用法示例 Java适配器模式是一种结构型设计模式,用于将一个类的接口转换成客户想要的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。该模式主要包括三个角色:目标、...

    java中适配器模式案例

    在"适配器模式.docx"文档中,可能详细介绍了适配器模式的概念、结构、优缺点以及适用场景,并通过具体的Java代码示例展示了如何实现适配器模式。这些示例可能包括类适配器和对象适配器两种形式,展示如何在实际项目...

    Java适配器模式应用之电源适配器功能详解

    Java 适配器模式应用之电源适配器功能详解 Java 适配器模式是一种常用的设计模式,用于解决两个不兼容的对象之间的接口不兼容问题。在电源适配器的应用中,Java 适配器模式可以实现不同电压和频率的电源之间的转换...

    设计模式之适配器模式

    在Java中,适配器模式主要分为两种类型:类适配器模式和对象适配器模式。类适配器模式通过继承目标接口和被适配者类来实现,而对象适配器模式则通过包含被适配者对象并实现目标接口来完成适配过程。 1. 类适配器...

    Java 23种设计模式10适配器模式.pdf

    ### Java设计模式之适配器模式详解 #### 结构型模式概述 在软件工程领域,设计模式被视为一种标准解决方案,用于解决在特定上下文中经常出现的问题。设计模式按其目的和适用场景,大致可分为三种类型:创建型模式...

    23种设计模式(5) java适配器模式

    java适配器模式 java适配器模式是23种设计模式之一,它的主要作用是将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 在java适配器模式中,有三个重要的...

    JAVA适配器模式[文].pdf

    适配器模式是软件设计模式中的一种,它的主要目的是解决不同接口之间的兼容性问题,使得原本由于接口不匹配而无法协作的类能够协同工作。适配器模式分为两类:类的适配器模式和对象的适配器模式。 类的适配器模式...

    适配器模式代码demo

    适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在本文中,我们将深入探讨适配器模式的概念、结构以及如何通过代码示例(即"Adapter"文件)来实现这一模式。 适配器模式的核心思想是解决系统...

    详解Java适配器模式

    Java 适配器模式详解 Java 适配器模式是一种结构型设计模式,主要用来解决不同接口之间的不兼容问题。在软件开发中,经常会遇到两个不同的接口之间需要进行交互的情况,这时就需要使用适配器模式来解决问题。 ...

    设计模式之适配器模式与外观模式demo

    适配器模式和外观模式是两种非常重要的设计模式,它们在实际项目中有着广泛的应用。本资源提供了一个关于这两种模式的实战示例,帮助我们更好地理解和应用它们。 适配器模式(Adapter Pattern)的主要目的是将两个...

    Java开发适配器模式详解

    ### Java开发适配器模式详解 #### 一、适配器模式概述 适配器模式(Adapter Pattern)是一种常用的设计模式,其主要目的是让两个不兼容的接口能够协同工作。通过引入一个适配器,可以将现有类的接口转换成客户端期望...

    Java适配器模式练习

    Java适配器模式是一种设计模式,它允许不兼容的类之间进行通信,通过创建一个适配器类作为中间层,将原有接口转换成目标接口,从而实现旧代码与新需求的融合。在Java中,适配器模式有两种形式:类适配器模式和对象...

Global site tag (gtag.js) - Google Analytics