设计模式学习(二)适配器模式

来源:互联网 发布:德州扑克 人工智能 编辑:程序博客网 时间:2024/05/27 14:13

适配器模式说起来其实很简单,就是使用一个接口来表示另一个相关接口
举个例子,有两个相似的接口:wolf和dog(狼和狗),现在我想要在城市听到狼的嚎叫,但由于城市里都是狗,狼是不能被创建的,所以得想个办法,通过一个神奇的适配器将狼外表变成成狗,这样,就可以听到狼叫了。

代码如下:

//狗interface Dog{    //嚎叫    public void howl();}//狼interface Wolf{    //嚎叫    public void howl();}//实现狗的接口的黄狗实体类class YellowDog implements Dog{    public void howl() {        // TODO Auto-generated method stub        System.out.println("黄狗在嚎叫");    }   }//实现狼接口的灰狼实体类class GrayWolf implements Wolf{    public void howl() {        // TODO Auto-generated method stub        System.out.println("灰狼在嚎叫");    }}//狗的适配器class WolfAdapter implements Dog{    private Wolf wolf;    public WolfAdapter(Wolf wolf) {        this.wolf=wolf;    }    public void howl() {        // TODO Auto-generated method stub        wolf.howl();    }}public class City {    public void DogHowl() {    }    public static void main(String[] args) {        Dog dog=new YellowDog();        dog.howl();        Dog dog2=new WolfAdapter(new GrayWolf());        dog2.howl();    }}/**output:黄狗在嚎叫灰狼在嚎叫*/

想要更清楚的可以看:设计模式 – 一个示例让你明白适配器模式

0 0
原创粉丝点击