java行为设计模式——访问者模式

来源:互联网 发布:ubuntu安装glib 2.22 编辑:程序博客网 时间:2024/05/12 19:30

1、模式理解:可以简单的理解为你去看你女朋友,然后用你的方式带着你的女朋友出去玩。如果是一个接收者,多个访问者,就可以根据不同的访问者来实现其访问的目的

2、运用场景:当多个对象需要统一对象作为参数来实现他们方法名相同的方法时可以使用,是不是看了之后很懵逼,没关系,可以先看代码

3、代码示例:

//先创建一个接收者,girl,接收boypublic class Girl {private String name;public Girl(String name) {this.name=name;}public String getName(){return name;}public void accept(Boy b){b.visit(this);}}//再创建一个访问者,boy,我这里就不多个访问者了,//如果是多个访问者,就要把访问者对象抽象出来,或者写成一个接口public class Boy {    private String name;    public Boy(String name) {        this.name=name;    }        public String getName(){        return name;    }    public void visit(Girl g){        System.out.println(this.name+"去找女朋友"+g.getName()+"了");    }}
//最后写一个测试类public class Main {public static void main(String[] args) {Girl girl=new Girl("luxi");girl.accept(new Boy("tudou"));}}
输出结果是:tudou去找女朋友luxi了

原创粉丝点击