网页功能: 加入收藏 设为首页 网站搜索  
足球战术之iterator篇
发表日期:2004-07-30作者:[转贴] 出处:  


 

接上回:

http://www.csdn.net/develop/read_article.asp?id=11677

使用iterator模式,让每个队员做
iterator,每个位置做aggregate,
有如下几个好处:
1.每个位置支持不同的队员用不同方式遍历。
2.简化了每个位置的接口,使其kiss,不用具有遍历的接口。
3.在同一个位置支持多个队员同时遍历。
代码如下:
template <class Item>
class 位置{
public:
     位置(long size=缺省_位置_容量);
     long 计数() const;
     Item& Get(long index) const;
     //...
};

template <class Item>
class 队员{
public:
     virtual void 回到初始位置()=0;
     virtual void 下一个位置()=0;
     virtual bool 是否到达() const=0;
     virtual Item 当前Item() const=0;
protected:
     队员();
};

template <class Item>
class 左后卫:public 队员<Item>{
public:
     左后卫(const 位置<Item>* 一个位置);
     virtual void 回到初始位置;
     virtual void 下一个位置();
     virtual bool 是否到达() const;
     virtual Item 当前Item() const;
private:
     const 位置<Item>* _位置;
     long _当前;
};


 

我来说两句】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 足球战术之iterator篇
本类热点文章
  Java读取文件中含有中文的解决办法
  Java读取文件中含有中文的解决办法
  简单加密/解密方法包装, 含encode(),de..
  EJB 3.0规范全新体验
  java简单的获取windows系统网卡mac地址
  让Java程序带着JRE一起上路
  抢先体验"野马"J2SE6.0
  Java连接各种数据库的实例
  Java连接各种数据库的实例
  JAVA的XML编程实例解析
  Java学习从入门到精通(附FAQ)
  新手必读:Java学习的捷径
最新分类信息我要发布 
最新招聘信息

关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放  
Copyright ©2003-2024 Lihuasoft.net webmaster(at)lihuasoft.net
网站编程QQ群   京ICP备05001064号 页面生成时间:0.01082