設計模式 十四 迭代器模式

2021-10-21 16:52:58 字數 1091 閱讀 5052

迭代器模式,提供一種遍歷集合元素的統一介面,用一致的方法遍歷集合元素,不需要知道集合物件的底層表示,即:不暴露其內部的結構

作用

用於型別的隱藏

內部類可以無限制訪問其外部類的成員,包括private成員/*

*內部類(inner class)

*定義:定義在類、方法體、介面中的class

*作用*用於型別的隱藏

*內部類可以無限制訪問其外部類的成員,包括private成員

*//*迭代器模式(iterator):對訪問動作的抽象

//迭代器介面

public

inte***ce

iterator

public

class

sequence

//返回乙個介面,讓外界按指定的順序讀取data

public iterator iterator()

//順序訪問,型別隱藏,dao

private

class

normaliterator

implements

iterator

@override

public

intnext()

@override

public

boolean

isfinish()

}//逆序訪問,在方法中定義的匿名內部類

public iterator inviterator()

@override

public

intnext()

@override

public

boolean

isfinish()

};}}

public

static

void

main

(string[

] args)

while

(!iter.

isfinish()

);}

設計模式之十四 迭代器模式

定義 提供一種方法訪問乙個容器物件中各個元素,而又不暴露該物件的內部細節 場景 有乙個物件集合,比如動物集合。迭代器模式使以下功能成為可能 1 每個動物都有乙個方法,來獲取這個動物所包含的,或者是所關聯的所有動物 2 通過這個動物可以直接獲取迭代器 3 通過迭代器可以對其中的動物做增加刪除操作 今日...

設計模式 迭代器模式

迭代器模式是屬於物件行為性的模式。首先是定義 提供一種方法順序訪問乙個聚合物件中各個元素,而又不暴露物件的表示方法。迭代器的結構圖 適用性 1 訪問乙個聚合物件的內容而無需暴露它的內部表示 2 支援聚合物件的多種遍歷 3 為遍歷不同的聚合結構提供乙個統一的介面 支援多型迭代 協作 concretei...

設計模式 迭代器模式

iterator,提供一種方法順序訪問乙個聚合物件中各個元素,而又不暴露該物件的內部表示。迭代器模式就是分離了集合物件的遍歷行為,抽象出乙個迭代器類來負責,這樣既可以做到不暴露集合的內部結構,又可讓外部 透明地訪問集合內部的資料。iterator迭代器抽象類 迭代器抽象類 abstract clas...