上了這麼多年學,我發現乙個問題,好象老師都很喜歡點名,甚至點名都成了某些老師的嗜好,一日不點名,就飯吃不香,覺睡不好似的,我就覺得很奇怪,你的課要是講的好,同學又怎麼會不來聽課呢,殊不知:「誤人子弟,乃是犯罪!」啊。
好了,那麼我們現在來看老師這個點名過程是如何實現吧:
1、老規矩,我們先定義老師(teacher)介面類:
public inte***ce teacher
2、具體的老師(concreteteacher)類是對老師(teacher)介面的實現:
public class concreteteacher implements teacher; //同學出勤集合
public iterator createiterator()
public object getelement(int index)
4、具體的點名(concreteiterator)類是對點名(iterator)介面的實現:
public class concreteiterator implements iterator
public void first()
public void next()
public object currentitem() }
5、編寫測試類:
public class test }
public static void main(string agrs) }
6、說明:
a:定義:iterator模式可以順序的訪問乙個聚集中的元素而不必暴露聚集的內部情況。
b:在本例中,老師(teacher)給出了建立點名(iterator)物件的介面,點名(iterator)定義了遍歷同學出勤情況所需的介面。
c:iterator模式的優點是當(concreteteacher)物件中有變化是,比如說同學出勤集合中有加入了新的同學,或減少同學時,這種改動對客戶端是沒有影響的。
迭代器模式
概述
給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器,這個直譯器使用該表示來解釋語言中的句子。適用性
1.訪問乙個聚合物件的內容而無需暴露它的內部表示。參與者2.支援對聚合物件的多種遍歷。
3.為遍歷不同的聚合結構提供乙個統一的介面(即,支援多型迭代)。
1.iteratoriterator迭代器定義訪問和遍歷元素的介面。
2.concreteiterator
具體迭代器實現迭代器介面。
對該聚合遍歷時跟蹤當前位置。
3.aggregate
聚合定義建立相應迭代器物件的介面。
4.concreteaggregate
具體聚合實現建立相應迭代器的介面,該操作返回concreteiterator的乙個適當的例項.
public inte***ce iteratorconcreteiterator
public class iteratorimpl implements iteratoraggregatepublic void first()
public void last()
public object next()
public boolean hasnext()
}
public inte***ce listconcreteaggregate
public class listimpl implements listtestpublic iterator iterator()
public object get(int index)
public int getsize()
public void add(object obj)
}
public class testresultsystem.out.println("*****");
//第二種迭代方式
for (int i = 0; i < list.getsize(); i++) }}
abc*****ab
c
Java設計模式 迭代器模式(Iterator)
迭代器角色 iterator 迭代器角色 iterator 迭代器角色負責定義訪問和遍歷元素的介面。author yanbin public inte ce iterator 具體迭代器角色 concreteiterator 具體迭代器角色 concrete iterator 具體迭代器角色要實現迭...
Behavioral模式之Iterator模式
提供一種方法順序訪問乙個集合物件中各個元素,而不需要暴露該物件的內部表示。cursor 游標 乙個聚合物件,如列表 list 應該提供一種方法來讓別人可以訪問它的元素,而又不需要暴露它的內部結構。資料庫中最常用的iterator模式。以下情況使用iterator模式 顧名思義,迭代器模式就是順序訪問...
Java迭代模式(Iterator模式)
上了這麼多年學,我發現乙個問題,好象老師都很喜歡點名,甚至點名都成了某些老師的嗜好,一日不點名,就飯吃不香,覺睡不好似的,我就覺得很奇怪,你的課要是講的好,同學又怎麼會不來聽課呢,殊不知 誤人子弟,乃是犯罪!啊。好了,那麼我們現在來看老師這個點名過程是如何實現吧 1 老規矩,我們先定義老師 teac...