package com.eyugame.modle;
/**
* 访问者模式
* @author JYC506
*
*/
/*访问者*/
public class Visitor implements IVisitor{
@Override
public void update(IPro o) {
o.doSomeThing();
}
public static void main(String[] args) {
IPro pro1=new Pro1();
IPro pro2=new Pro2();
IVisitor visitor=new Visitor();
pro1.acept(visitor);
pro2.acept(visitor);
}
}
interface IVisitor{
void update(IPro o);
}
/*产品*/
interface IPro{
void acept(IVisitor visitor);
void doSomeThing();
}
/*产品1*/
class Pro1 implements IPro{
@Override
public void acept(IVisitor visitor) {
visitor.update(this);
}
@Override
public void doSomeThing() {
System.out.println("pro1 do something");
}
}
/*产品2*/
class Pro2 implements IPro{
@Override
public void acept(IVisitor visitor) {
visitor.update(this);
}
@Override
public void doSomeThing() {
System.out.println("pro2 do something");
}
}
(行为型模式四)访问者模式
最新推荐文章于 2023-08-09 22:18:32 发布