迭代器模式

2021-10-06 19:34:24 字數 1045 閱讀 9620

****將容器中包含的內部物件的訪問委讓給外部類,按順序進行遍歷訪問,即可順序訪問集合物件元素,而不暴露該物件的底層細節。

迭代器 角色

iterator(迭代器介面):該介面必須定義實現迭代功能的最小定義方法集,例如提供hasnext()和next()方法

concrete iterator (迭代器實現類):迭代器介面的實現類,根據具體情況實現

aggregate(容器介面):定義基本功能以及提供類似iterator類的iterator()方法

concrete aggregate(容器實現類):容器介面的實現類,必須實現iterator iterator()方法

迭代器 優點

1.支援以不同的方式遍歷乙個聚合物件。

2.在同乙個聚合上可以有多個遍歷,並可以提供多種遍歷方式。

3.只需要得到迭代器就可以遍歷,而不需要關心遍歷演算法

4.方便增加新的聚合類和迭代器類,無須修改原有**。

迭代器缺點

若增加新的聚合類需要對應增加新的迭代器類,這會增加系統的複雜性。將容器中包含的內部物件的訪問委讓給外部類,按順序進行遍歷訪問,即可順序訪問集合物件元素,而不暴露該物件的底層細節。

迭代器 角色

iterator(迭代器介面):該介面必須定義實現迭代功能的最小定義方法集,例如提供hasnext()和next()方法

concrete iterator (迭代器實現類):迭代器介面的實現類,根據具體情況實現

aggregate(容器介面):定義基本功能以及提供類似iterator類的iterator()方法

concrete aggregate(容器實現類):容器介面的實現類,必須實現iterator iterator()方法

迭代器 優點

1.支援以不同的方式遍歷乙個聚合物件。

2.在同乙個聚合上可以有多個遍歷,並可以提供多種遍歷方式。

3.只需要得到迭代器就可以遍歷,而不需要關心遍歷演算法

4.方便增加新的聚合類和迭代器類,無須修改原有**。

迭代器缺點

若增加新的聚合類需要對應增加新的迭代器類,這會增加系統的複雜性。

迭代器模式

迭代器模式 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...