访问者模式

本文介绍了访问者模式的基本概念,通过具体的代码示例展示了如何使用访问者模式实现不同类之间的访问。文章首先定义了访问者模式的基本结构,包括抽象访问者接口、具体访问者类、抽象元素类及具体元素类,并通过实例解释了各部分的作用。

顾名思义:一个类,访问一个类



c

Class A {
    public void a(){
        System.out.println("A");
    }
    public void b(B b){
        b.showA();
    }
}

B类,在这里相当于,一个访问者。  b访问a的方法。

class B{
     public void showA(A a){
          a.a();
     }
}

抽象访问者:访问者可以访问那些元素。

interface Visitor{
     public void visit(ElementOne e1);
     public void visit(ElementTwo e2);
}


访问者:

class ConcreteVisitor implements Visitor{
     public void visit(ElementOne e1){
         e1.doSameThing();
     }
      public void visit(ElementTwo e2){
         e2.doSameThing();
     }

}


抽象元素:

abstract class Element{
    public abstract void get(Visitor v);
     public abstract void doSameThing();
}

具体元素:

class ElementOne extends Element{
      public void get(Visitor v){
           v.visit(this);
     }
      public void doSameThing(){
         system.out.pringln("元素A")'
     }
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值