java设计模式--适配器模式

适配器模式(adapter):将一个类的接口转换成成客户希望的接口

1.被适配对象

2.适配器

3.目标接口

就是把被适配对象和目标接口进行连接,都与适配器打交道,被适配对象和目标接口不直接交互,实现松耦合,适配器好比有USB和圆口两种方式的连接线。

电脑需要USB键盘,但键盘是圆口的。

笔记本电脑

//电脑
public class Diannao {

    public void shanchu(Target t){
        //与适配器接口打交道而不是键盘
        t.chuli();
    }
    public static void main(String[] args) {

        Diannao dn = new Diannao();
        Target t = new Adapter(new Jianpan());
        dn.shanchu(t);

    }

}

键盘

//键盘 被适配对象
public class Jianpan {

    public void dazi(){
        System.out.println("按删除");
    }

}

适配器接口,又抽象了一层

public interface Target {

    void chuli();

}

适配器的实现类

//适配器
public class Adapter implements Target{

    //和被适配对象联系起来
    //1继承键盘    类适配器模式
    //2组合键盘对象  (推荐) 对象适配器模式

    private Jianpan jianpan;

    public void chuli() {
        jianpan.dazi();
    }

    public Adapter(Jianpan jianpan) {
        this.jianpan = jianpan;
    }

}

建议使用以上对象适配

使用例子,流的包装类就是一个适配的过程

时间: 2024-08-10 19:09:35

java设计模式--适配器模式的相关文章

一起学java设计模式--适配器模式(结构型模式)

适配器模式 现有一个接口DataOperation定义了排序方法sort(int[]) 和查找方法search(int[], int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法,类BinarySearch 的binarySearch(int[], int)方法实现了二分查找算法.现使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort和类BinarySearch的方法适配到DataOperation接口中.绘制类图并编程实现. (要求实现

菜鸟版JAVA设计模式—适配器模式,装饰模式,代理模式异同

节前把3个设计模式的学习心得分享了一下,分别是适配器模式,装饰模式,代理模式. 但是似乎越写越有些迷糊,这三种模式都有着一些大同小异的地方,总是有些搞不清. 今天再重新学习下,把学习心得分享给大家一下.这次是结合的我工作中的实际项目. 设计模式,其实是一种解决方法,JAVA作为一种面向对象的语言,对于所有的设计模式在实现上,总是少不了对接口的实现,对抽象类的继承,有时候似乎是为了去实现接口而去写接口,所以在这三种模式的说明代码中,我们都定义了接口这些东西,所以才有了现在的混淆. 先不厌其烦的介绍

Java设计模式——适配器模式

引言: 我们总是在一件事情上有一些为难.一个比较经典的案例就是,比如我有一个双孔插座,但是我的电脑是三脚的插头,我怎么把这个三脚插头插进这个双孔插座里面去? 对于一个DotAer来说,我在想能不能让一个近卫军团英雄去做天灾军团的事情呢?这些情况就可以使用本文要说的适配器模式来解决.下面看看我是怎么做的吧. 本文链接:http://blog.csdn.net/lemon_tree12138/article/details/50326851 -- Coding-Naga --转载请注明出处 定义:

JAVA 设计模式 适配器模式

用途 适配器模式 (Adapter) 将一个类的接口转换成客户希望的另外一个接口. Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 适配器模式是一种结构型模式. 结构 图-适配器模式结构图 Target : 定义用户需要使用的接口. abstract class Target {    public abstract void Request();} Adaptee : 定义一个需要适配的接口 class Adaptee {     public void Spec

Java设计模式—适配器模式

适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口. 适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 以下是示例代码: /** * 适配器模式 * @author Admin * */ public class Adapter { public static void start(powerA p){ //只接受接口A的调用,这时就要用到PowerAdapter适配器来让接口B也可以调用 p.chong(); } public static void

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

Adapter Pattern的作用是在不改变功能的前提下转换接口.Adapter分为两类,一类是Object Adapter, 另一类是Class Adapter.由于Class Adapter的实现需要用到多继承,而Java不支持多继承,所以这里只关注Object Adapter. 在JDK1.5之前是没有 java.util.Iterator 接口的,java.util.Enumeration 接口起着 Iterator 的作用.那么如果我们需要维护一些年代比较久远的代码,可能就会面临着没

Java设计模式(八) 适配器模式

原创文章,转载请务必将下面这段话置于文章开头处. 本文转发自Jason's Blog,原文链接 http://www.jasongj.com/design_pattern/adapter/ 适配器模式介绍 适配器模式定义 适配器模式(Adapter Pattern),将一个类的接口转换成客户希望的另外一个接口.适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 适配器模式类图 适配器模式类图如下 适配器模式角色划分 目标接口,如上图中的ITarget 具体目标实现,如Concr

Java 设计模式系列(六)适配器模式

Java 设计模式系列(六)适配器模式 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作. 适配器模式的结构: 类的适配器模式 对象的适配器模式 一.类适配器模式 类的适配器模式把适配的类的 API 转换成为目标类的 API. 在上图中可以看出,Adaptee 类并没有 sampleOperation2() 方法,而客户端则期待这个方法.为使客户端能够使用 Adaptee 类,提供一个中间环节,即类 Adapter,把 Adap

Java设计模式之认识阶段

设计模式是什么? 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结. 其本质就是继承与接口的组合应用. 为什么要用设计模? 使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性.提高工作效率. 设计模式的分类: 设计模式按目的可分为三种类型,共23种. 创建型模式:单例模式.抽象工厂模式.建造者模式.工厂模式.原型模式. 结构型模式:适配器模式.桥接模式.装饰模式.组合模式.外观模式.享元模式.代理模式. 行为型模式:模版