Fork me on GitHub

入门设计模式之适配器模式

 

学习更多设计模式请参考:入门设计模式之汇总篇

 

适配器模式:把一个类的接口转换为客户端需要的另一个接口

 

比如说,我们去相亲,目标中的女孩是会唱歌会跳舞的女孩,但是介绍人说这个女孩只会唱歌,不会跳舞,那你肯定不会满意呀。不过介绍人说,没关系,我有办法。哦?那我们来看看他有什么办法呢

 

 

  • 上方Girl接口就是我们希望女孩的样子,也就是女孩接口,会唱歌会跳舞。
  • 这个SimpleGirl就是介绍人一开始说的只会唱歌的女孩
  • 下方Adapter就是介绍人的方法了,它就是通过这个类让我们实现了梦想中的女孩,来看一下实现吧
public interface Girl {
    public void sing();
    public void dance();
}

public class SimpleGirl {
    public void sing() {
    }
}

public class Adapter  implements Girl {
    SimpleGirl girl;

    Adapter(SimpleGirl girl){
        this.girl=girl;
    }

    @Override
    public void dance() {

    }
    public void sing() {
        girl.sing();
    }
}

这个实现的原理呢其实就是在女孩类的外面包装了一层,使她学会了跳舞的方法。

 




本文出自https://zhixiang.org.cn/#/blog/read/c59dd69d-f539-43e8-9834-7f28c8f30432,转载请保留。

 

posted @ 2018-06-30 23:11  石玉军  阅读(265)  评论(0编辑  收藏  举报