迭代器模式

2021-08-11 13:44:23 字數 1118 閱讀 3370

簡介

迭代器模式:

提供一種方法順序訪問乙個聚合物件的各個元素,而又不暴露該物件的內部表示。

構成

1.

迭代器抽象類。

2.

聚集抽象類。

3.

具體迭代器類。

4.

具體聚集類。

常用的場景

需要對聚集有多種方式的遍歷時使用迭代器模式。
類圖:

測試**

#include #include #include using namespace std;

#include #include //迭代器抽象類

class iterator

; ~iterator(){};

virtual bool hasnext() = 0;

virtual string next() = 0;

virtual string remove() = 0;

};//聚集抽象類

class aggregate

; ~aggregate(){};

virtual iterator* createiterator() = 0;

};//迭代器具體類

class concrateiiterator : public iterator

bool hasnext()

; string next()

; string remove()

; aggregate* m_paggregate;

};//聚集具體類

class concrateaggregate : public aggregate;};

void main()

迭代器模式

迭代器模式 iterator 提供一種方法順序訪問乙個聚合物件中各個元素,而不是暴露該物件的內部表示。乙個聚集物件,而且不管這些物件是什麼都需要遍歷的時候,你就應該考慮用迭代器模式。你需要對聚集有多種方式遍歷時,可以考慮用迭代器模式。為遍歷不同的聚集結構提供如開始,下乙個,是否結束,當前哪一項等統一...

迭代器模式

我最早接觸的設計模式就是迭代器模式了哈 為什麼要有迭代器模式呢?看下下面的 就知道了哈 對於乙個陣列物件sz 我們要怎麼遍歷呢?public void bianlisz class geweishu public myiterator getiterator private class geweis...

迭代器模式

迭代器模式 提供一種方法順序訪問乙個聚合物件中各個元素,而又不暴露該物件多的內部表示。1 iterator抽象類 public abstract class iterator 2 aggregate聚集抽象類 public abstract class aggregate 3 concreteite...