8.迭代器模式
1迭代器模式的核心內(nèi)容是:
A:不斷重新定義虛函數(shù),在不改變原來的程序功能的情況下,不斷增強(qiáng)程序的功能。
2迭代器模式的作用:通過增加純虛函數(shù)的方式不斷增強(qiáng)程序
3迭代器模式具體描述
//迭代子模式:迭代子模式可以順序訪問一個聚集中的元素而不必暴露聚集的內(nèi)部表象。
//多個對象聚在一起形成的總體稱之為聚集,聚集對象是能夠包容一組對象的容器對象。
?
//迭代子模式將迭代邏輯封裝到一個獨(dú)立的子對象中,從而與聚集本身隔開。
//迭代子模式簡化了聚集的界面。
//每一個聚集對象都可以有一個或一個以上的迭代子對象,
//每一個迭代子的迭代狀態(tài)可以是彼此獨(dú)立的。
//迭代算法可以獨(dú)立于聚集角色變化。
//
//我愛上了Mary,不顧一切的向她求婚。Mary:
//“想要我跟你結(jié)婚,得答應(yīng)我的條件” 我:“什么條件我都答應(yīng),你說吧”
//Mary:“我看上了那個一克拉的鉆石” 我:“我買,我買,還有嗎?”
//Mary:“我看上了湖邊的那棟別墅” 我:“我買,我買,還有嗎?”
//Mary:“我看上那輛法拉利跑車” 我腦袋嗡的一聲,坐在椅子上,一咬牙:
//“我買,我買,還有嗎?” ……
4.迭代器模式類圖(略)
?
5.代碼:
#include<iostream>
#include <string>
using namespace std;
//迭代子模式:迭代子模式可以順序訪問一個聚集中的元素而不必暴露聚集的內(nèi)部表象。
//多個對象聚在一起形成的總體稱之為聚集,聚集對象是能夠包容一組對象的容器對象。
?
?
//迭代子模式將迭代邏輯封裝到一個獨(dú)立的子對象中,從而與聚集本身隔開。
//迭代子模式簡化了聚集的界面。
//每一個聚集對象都可以有一個或一個以上的迭代子對象,
//每一個迭代子的迭代狀態(tài)可以是彼此獨(dú)立的。
//迭代算法可以獨(dú)立于聚集角色變化。
//
//我愛上了Mary,不顧一切的向她求婚。Mary:
//“想要我跟你結(jié)婚,得答應(yīng)我的條件” 我:“什么條件我都答應(yīng),你說吧”
//Mary:“我看上了那個一克拉的鉆石” 我:“我買,我買,還有嗎?”
//Mary:“我看上了湖邊的那棟別墅” 我:“我買,我買,還有嗎?”
//Mary:“我看上那輛法拉利跑車” 我腦袋嗡的一聲,坐在椅子上,一咬牙:
//“我買,我買,還有嗎?” ……
?
class Iterator;
class Aggregate
{
public:
??? virtual Iterator *createIterator() = 0;
};
?
class Iterator
{
public:
??? virtual void first() = 0;
??? virtual void next() = 0;
??? virtual bool isDone() = 0;
??? virtual bool isDoneA() = 0;
??? //virtual bool isDoneA() = 0;
};
?
class ConcreteAggregate :public Iterator
{
public:
??? void first(){}
??? void next(){}
??? bool isDone(){}
??? virtual bool isDoneA(){}
};
?
int main
{
??? cin.get();
??? return 0;
}
總結(jié)
- 上一篇: 新中国成立至今我国的正式宪法有哪些?
- 下一篇: 9.访问者模式