Iterator: Porovnání verzí

Smazaný obsah Přidaný obsah
EmausBot (diskuse | příspěvky)
m r2.6.4) (robot změnil: fr:Itérateur
Xqbot (diskuse | příspěvky)
m r2.7.3) (Robot: Přidávám gl:Iterador (patrón de deseño); kosmetické úpravy
Řádek 1:
[[Návrhový vzor| Návrhový vzor]] '''Iterator''' zajišťuje možnost procházení prvků bez znalosti jejich implementace. Lze implementovat pomocí [[Pole (datová struktura)| pole]] nebo jiných datových struktur. Pomocí datové struktury ArrayList je implementace daleko snazší.
 
== Implicitní iterátory ==
Některé objektově orientované jazyky jako [[Perl]], [[Python]], [[C#]], [[Ruby]] a pozdější verze [[Java (programovací jazyk)|Javy]] a [[Delphi]] poskytují vlastní způsob jak iterovat elementy obsahující objekty nebo primitivní datové typy bez explicitního vytvoření iterátoru. V tomto případě iterátor není přístupný pro ostatní kód ale lze k němu přistoupit v dané posloupnosti elementů.
 
Implicitní iterátory jsou často označovány jako "foreach" a tento styl procházení elementů se také někdy nazývá "vnitřní iterace". Takto vypadá implicitní iterace v [[Programovací jazyk| programovacím jazyce]] [[Python]]:
<source lang="python">
for value in iterable:
Řádek 16:
</source>
 
== Implementace iteratoru v jazyce [[Java (programovací jazyk)|JAVA]] ==
V ukázce jsou [[Osoba| osoby]] a jejich kolekce. Kolekce obsahuje vnitřní [[Třída_Třída (programování)| třídu]] s názvem PersonIterator, pomocí které ji můžeme celou procházet. [[Třída_Třída (programování)| Třída]] PersonIterator implementuje rozhraní Iterator, které obsahuje metody '''hasNext();'''(zjistí jestli je v kolekci další osoba) a '''getNext();'''(získá další osobu v kolekci). V této ukázce je kolekce implementována pomocí [[Pole (datová struktura)| datové struktury]] ArrayList.
<source lang=java>
import java.util.ArrayList;
Řádek 105:
</source>
 
== Související články ==
* [[Návrhový vzor|Návrhové vzory]]
* [[Objektově orientované programování]]
* [[Programování]]
 
== Externí odkazy ==
* [http://objekty.vse.cz/Objekty/Vzory-Iterator Návrhový vzor iterator]
 
Řádek 120:
[[es:Iterador (patrón de diseño)]]
[[fr:Itérateur]]
[[gl:Iterador (patrón de deseño)]]
[[he:איטרטור]]
[[it:Iterator pattern]]