迭代器模式(Iterator Pattern)

2022-08-29 00:45:11 字數 568 閱讀 6649

迭代器模式:提供一種方法順序訪問乙個聚合物件中的各個元素,而又不暴露其內部的表示。

類圖:

下面舉乙個例子:

對於陣列,jdk並沒有迭代器的實現,如果我們有乙個陣列物件,要隱藏其訪問細節,就只能自己實現乙個迭代器。

現在餐廳有乙個選單,女招待員有乙個printmenu方法,列印出amenu選單上的所有菜式,amenu有乙個createiterator方法,返回乙個amenuiterator,可以遍歷整個menuitems,而menuitems是乙個陣列。

一旦實現迭代器,就可以這樣遍歷menuitem,waitress不知道是如何遍歷menuitem的。

iterator i=new

amenu().createiterator();

while

(i.hasnext())

迭代器模式

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