PHP實現迭代器

2021-09-23 20:58:16 字數 989 閱讀 9814

不多說,對於php的新手來說,學習到了。

<?php

/** * 迭代器的公用介面

*/inte***ce newiterator

/*** 書目的迭代器,實現newiterator介面

*/class bookiterator implements newiterator else

} public function next()

public function hasnext()else }}

/*** 數目是用陣列儲存的

*/class booka

public function additem($_string)

//這裡不再返回乙個陣列。而是乙個真正的物件。陣列被傳遞到了迭代器中。實現和書目呼叫的解耦

public function getiterator()}

/** * 書目都是用字串儲存的

*/class bookb

public function additem($_string)

public function getiterator()}

/** * 輸出兩個書店的書目

// */

//require "newiterator.php";

//require 'booka.php';

//require 'bookb.php';

//require "bookiterator.php";

class booklist

public function menu()

public function tostring(newiterator $_iterator) }}

$booka=new booka();

$bookb=new bookb();

$a = new booklist($booka,$bookb);

$a->menu();

?>

PHP迭代器模式(引用SPL實現)

現在有這麼兩個類,department部門類 employee員工類 部門類 class department function addemployee employee e 被分配到中去 員工類 class employee function getname 應用 lsgo new departm...

SGI STL 迭代器實現

迭代器模式 該模式能夠提供一種方法,使之能夠依序尋訪某個聚合物 容器 所含的每個元素,而又無需暴露該聚合物的內部表達方式。stl原始碼剖析 它其實就是演算法與容器的一種粘膠劑。迭代器的行為非常類似智慧型指標 smartpointer 所以對他來說最重要的便是deference 內容提領 和membe...

迭代器的實現

inte ce ipeople int age string void eat void work void speak class people ipeople public people string n,int a,string s public string name set public ...