顾名思义:一个类,访问一个类
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")'
}
}