`
qn_lf
  • 浏览: 120550 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

访问者模式Visitor——读书笔记

阅读更多
interface Visitor {
 void visit(Gladiolus g);
 void visit(Runuculus r);
 void visit(Chrysanthemum c);
}

interface Flower{
 void accept(Visitor v);
}

class Gladiolus implements Flower {
 public void accept(Visitor v) { v.visit(this);}
}

//通过用visitor模式的写法
Visitor vst;
List<Flower> flowers = new ArrayList<Flower>();
Iterator<Flower> it = flowers.iterator();
while(it.hasNext()) {
   it.next().accept(vst);
      //vst.visit(it.next());//同上
}

可以看出针对不同的对象需要Visitor重载visit方法

参考:http://www.iteye.com/topic/114287
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics