//抽象聚合類
abstract class abstractobjectlist
public
void
addobject(object obj)
public
void
removeobject(object obj)
public list getobjects()
//宣告建立迭代器物件的抽象工廠方法
public
abstract abstractiterator createiterator();
}//商品資料類:具體聚合類
class productlist extends abstractobjectlist
//實現建立迭代器物件的具體工廠方法
public abstractiterator createiterator()
}//抽象迭代器
inte***ce abstractiterator
//商品迭代器:具體迭代器
class productiterator implements abstractiterator
public
void
next()
}public boolean islast()
public
void
previous()
}public boolean isfirst()
public object getnextitem()
public object getpreviousitem()
}class client
system.out.println();
system.out.println("-----------------------------");
system.out.println("逆向遍歷:");
while (!iterator.isfirst()) }}
設計模式 行為型模式 迭代器模式
提供乙個物件來順序訪問聚合物件中的一系列物件,而不暴露聚合物件的內部表示。屬於一種物件行為型模式。優點訪問聚合物件內部無需暴露它的內部表示 遍歷任務交由迭代器完成,簡化了聚合類 它支援以不同方式遍歷乙個聚合,甚至可以自定義迭代器的子類以支援新的遍歷 增加新的聚合類和迭代器類很方便,無需修改原有 封裝...
行為型模式 迭代器模式
迭代器模式 iterator 用於依序遍歷訪問集合物件的每一元素,但不暴露集合物件的內部結構,只允許讓外部來訪問集合內部的資料,在實作上通常會抽象出乙個迭代器類並含有 hasnext 及next 之介面定義 再由其繼承具體子類負責集合物件的遍歷行為之功能。示例 from abc import abc...
行為型模式(四) 迭代器模式
迭代器 iterator 模式 提供乙個物件來順序訪問聚合物件中的一系列資料,而不暴露聚合物件的內部表示。迭代器模式是一種物件行為型模式,優點 1 訪問乙個聚合物件的內容而無須暴露它的內部表示。2 遍歷任務交由迭代器完成,這簡化了聚合類。3 它支援以不同方式遍歷乙個聚合,甚至可以自定義迭代器的子類以...