- Countable : Interface permettant d'utiliser la fonction
count()
sur les objets
interface Countable {
/* Méthodes */
abstract public int count ( void )
}
- SeekableIterator : autorise l'accès à un élément particulier
/* Méthode supplémentaire*/
abstract public void seek ( int $position )
- Source exemple :
class LivreIterator3 extends LivreIterator implements SeekableIterator {
public function seek($position) {
if ($position<0 || $position>$this->count()) {
throw new OutOfBoundsException("position invalide ($position)");
}
$this->idLivre = $position;
}
}
- Execution exemple :
try {
$literator3 = new LivreIterator3();
$literator3->seek(100);
echo $literator3->current();
$literator3->seek(200);
} catch (OutOfBoundsException $e) {
echo $e->getMessage();
}
- RecursiveIterator : Iterator pour structure multi-niveaux, hérite de Itérator
/* Méthodes supplémentaires */
public RecursiveIterator getChildren ( void )
public bool hasChildren ( void )