码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式-适配器模式

时间:2020-04-27 11:32:11      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:一起   public   targe   div   extend   target   例子   对象适配器   场景   

先举例子,安卓的耳机怎么查Ios的手机? 往上有转接头,也叫适配器。当一个类想和另一个无关的类一起工作就需要适配器

安卓的耳机

public interface Target {
    void work();
}

ios的插孔

public class Adapte {
    public void adapte(){
        System.out.println("听歌。");
    }
}

买个适配器

public class ClassAdaptee extends Adapte implements Target {

    @Override
    public void work() {
        adapte();
    }
}

测试类

public class Client {
    public static void main(String[] args) {
        new ClassAdaptee().work();
    }
}

 

现在如果想使用安卓的耳机和ios的插孔一起工作,只需要找适配器类,这叫做类适配器,如果将上面代码改一下,可以改为对象适配器

适配器改为

public class ObjectAdaptee implements Target {
    Adapte adapte;

    @Override
    public void work() {
        adapte.adapte();
    }

    public ObjectAdaptee(Adapte adapte) {
        this.adapte = adapte;
    }
}

测试类改为

public class Client2 {
    public static void main(String[] args) {
        ObjectAdaptee objectAdaptee = new ObjectAdaptee(new Adapte());
        objectAdaptee.work();
    }
}

 

应用场景:当使用一些第三方的接口时,发现接口定义和自己要求的接口定义不同,这时候可以使用适配器。

设计模式-适配器模式

标签:一起   public   targe   div   extend   target   例子   对象适配器   场景   

原文地址:https://www.cnblogs.com/Vinlen/p/12785203.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!