美文网首页
Java 适配器模式

Java 适配器模式

作者: 北冥冰皇 | 来源:发表于2018-06-06 09:36 被阅读0次

适配器模式用于消除接口不匹配造成的类兼容性问题

类模式的适配器采用继承的方式复用接口

对象模式的适配器采用组合的方式复用

适配器模式-对象模式

新建适配器,接受原类对象的所有方法,然后生成新需要的接口方法

  • 原类对象
/**
 * 原类
 */
public class Target {

    /**
     * 一种逻辑(算法)
     * @param str
     * @return
     */
    public String Arithmetic(String str) {
        return str;
    }
}
  • 适配接口
/**
 * 适配接口
 */
public interface IAdapter {

    /**
     * 适配逻辑(算法)
     * @param str
     * @return
     */
    String Arithmetic_Another(String str);
}
  • 适配器
public class Adapter implements IAdapter {
    Target tar;

    public Adapter(Target filter) {
        this.tar = filter;
    }

    /**
     * 原逻辑tar
     *
     * @param str
     * @return
     */
    public String Arithmetic(String str) {
        return "原逻辑" + this.tar.Arithmetic(str);
    }

    /**
     * 适配逻辑
     *
     * @param str
     * @return
     */
    public String Arithmetic_Another(String str) {
        return "适配逻辑";
    }
}
  • 测试
    public static void main(String[] args){
        Target t = new Target();
        IAdapter ia = new Adapter(t);
        System.out.println(((Adapter) ia).Arithmetic("……"));
        System.out.println(ia.Arithmetic_Another(""));
    }
适配器模式-类模式

通过创建类继承类和实现接口来实现适配

  • 原类对象
/**
 * 原类
 */
public class Target {

    /**
     * 一种逻辑(算法)
     * @param str
     * @return
     */
    public String Arithmetic(String str) {
        return str;
    }
}
  • 适配接口
/**
 * 适配接口
 */
public interface IAdapter {
    /**
     * 适配逻辑(算法)
     * @param str
     * @return
     */
    public String Arithmetic_Another(String str);

    public String Arithmetic(String str);
}
  • 适配器
public class Adapter extends Target implements IAdapter {
    /**
     * 适配逻辑
     *
     * @param str
     * @return
     */
    public String Arithmetic_Another(String str) {
        return "适配逻辑";
    }
}
  • 测试
    public static void main(String[] args){
        IAdapter ia = new Adapter();
        System.out.println(ia.Arithmetic("原逻辑……"));
        System.out.println(ia.Arithmetic_Another(""));
    }

相关文章

  • Java学习记录--适配器模式

    Java学习记录--适配器模式 标签(空格分隔): java 适配器模式是一种比较简单的设计模式,该博文从Java...

  • java建造者模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java单例模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java外观模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java适配器模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java观察者模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java代理模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java策略模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • 浅析Java设计模式【1】——观察者

    前情内容 浅析Java设计模式【1】——观察者 浅析Java设计模式【2】——适配器 浅析Java设计模式【3】—...

  • 浅析Java设计模式【2】——适配器

    前情内容 浅析Java设计模式【1】——观察者 浅析Java设计模式【2】——适配器 浅析Java设计模式【3】—...

网友评论

      本文标题:Java 适配器模式

      本文链接:https://www.haomeiwen.com/subject/wfnvsftx.html