ভূমিকা
IteratorAggregate ইন্টারফেস অ্যাবস্ট্রাক্ট Traversable ইন্টারফেস এক্সটেন্ড করে। এটি একটি ক্লাস দ্বারা ইমপ্লিমেন্ট করা হয় এক্সটার্নাল ইটারেটর তৈরি করতে। এই ইন্টারফেস একটি অ্যাবস্ট্রাক্ট মেথড পরিচয় করায়:getIterator।
সিনট্যাক্স
IteratorAggregate extends Traversable { abstract public getIterator ( void ) : Traversable }মেথড
IteratorAggregate::getIterator — একটি এক্সটার্নাল ইটারেটর রিট্রিভ করুন
এই ফাংশনের কোনো প্যারামিটার নেই এবং Iterator বা Traversable ইমপ্লিমেন্ট করা একটি অবজেক্টের ইনস্ট্যান্স রিটার্ন করে।
IteratorAggregate উদাহরণ
নিচের PHP স্ক্রিপ্টে, IteratorAggregate ইমপ্লিমেন্ট করা একটি ক্লাসে একটি অ্যারে প্রপার্টি হিসেবে রয়েছে। getIterator() মেথড এই অ্যারে থেকে ArrayIterator অবজেক্ট রিটার্ন করে। আমরা foreach লুপ দিয়ে অ্যারেটি ট্রভার্স করতে পারি।
উদাহরণ
<?php class myIterator implements IteratorAggregate { public $arr; public function __construct() { $this->arr = array(10,20,30,40); } public function getIterator() { return new ArrayIterator($this->arr); } } $obj = new myIterator(); foreach($obj as $key => $value) { echo $key . "=>" . $value . "\n"; } ?>আউটপুট
অ্যারে প্রপার্টির ট্রভার্সাল নিচের ফলাফল দেখাবে—
0=>10 1=>20 2=>30 3=>40