美文网首页
设计模式之适配器模式

设计模式之适配器模式

作者: 第四单元 | 来源:发表于2019-04-27 13:18 被阅读0次

    适配器模式将一个类的接口,转换为客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。

    假设有两个接口,我们想让A接口像B接口一样工作。
    我们实现一个适配器类,这个类实现B接口,持有A类型的对象。在其接口方法实现中调用A类对象的方法,这就实现了我们的目的。

    JDK:

    • java.util.Arrays#asList()
    • java.util.Collections#list()

    例子:

    //鸭子接口
    public interface Duck {
        void quack();
    }
    
    //火鸡接口
    public interface Turkey {
      void gobble();
    }
    
    //野火鸡实现
    public class WildTurkey implements Turkey {
      @Override
      public void gobble() {
        System.out.println("gobbel!");
      }
    }
    
    //适配器,让火鸡像鸭子一样工作
    public class TurkeryAdapter implements Duck {
        Turkey turkey;
        public TurkeyAdapter(Turkey turkey) {
            this.turkey = turkey;
        }
    
        @Override
        public void quack() {
            turkey.gobble();
         }
    }
    
    //测试使用
    public class Client {
      public static void main(String[] args) {
        Turkey turkey = new WildTurkey();
        Duck duck = new TurkeyAdapter(turkey);
        duck.quack();
      }
    
    }
    

    相关文章

      网友评论

          本文标题:设计模式之适配器模式

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