简介

提供一种方法用于顺序访问一个集合对象中的元素,而又不暴露该对象的内部表示。

说明

  • 抽象迭代子(Iterator)角色:此抽象角色定义出遍历元素所需的接口。
  • 具体迭代子(ConcreteIterator)角色:此角色实现了Iterator接口,并保持迭代过程中的游标位置。
  • 集合(Collection)角色:此抽象角色给出创建迭代子(Iterator)对象的接口。
  • 具体集合(ConcreteCollection)角色:实现了创建迭代子(Iterator)对象的接口,返回一个合适的具体迭代子实例。
  • 客户端(Application)角色:持有对聚集及其迭代子对象的引用,调用迭代子对象的迭代接口,也有可能通过迭代子操作聚集元素的增加和删除。