<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://www.512.cz/skins/common/feed.css?301"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="cs">
		<id>https://www.512.cz/index.php?action=history&amp;feed=atom&amp;title=Generi%C4%8Dnost</id>
		<title>Generičnost - Historie editací</title>
		<link rel="self" type="application/atom+xml" href="https://www.512.cz/index.php?action=history&amp;feed=atom&amp;title=Generi%C4%8Dnost"/>
		<link rel="alternate" type="text/html" href="https://www.512.cz/index.php?title=Generi%C4%8Dnost&amp;action=history"/>
		<updated>2026-10-20T21:55:26Z</updated>
		<subtitle>Historie editací této stránky</subtitle>
		<generator>MediaWiki 1.17.0</generator>

	<entry>
		<id>https://www.512.cz/index.php?title=Generi%C4%8Dnost&amp;diff=410&amp;oldid=prev</id>
		<title>Acolade: kategorizace</title>
		<link rel="alternate" type="text/html" href="https://www.512.cz/index.php?title=Generi%C4%8Dnost&amp;diff=410&amp;oldid=prev"/>
				<updated>2014-02-20T06:37:03Z</updated>
		
		<summary type="html">&lt;p&gt;kategorizace&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Starší verze&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Verze z 20. 2. 2014, 06:37&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádka 33:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádka 33:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;V některých jazycích lze T omezit, třeba jen na typy implementující Iterable.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;V některých jazycích lze T omezit, třeba jen na typy implementující Iterable.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Kategorie:fav-kiv-bzinf]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Acolade</name></author>	</entry>

	<entry>
		<id>https://www.512.cz/index.php?title=Generi%C4%8Dnost&amp;diff=165&amp;oldid=prev</id>
		<title>Tester v 14. 8. 2011, 20:51</title>
		<link rel="alternate" type="text/html" href="https://www.512.cz/index.php?title=Generi%C4%8Dnost&amp;diff=165&amp;oldid=prev"/>
				<updated>2011-08-14T20:51:19Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Starší verze&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Verze z 14. 8. 2011, 20:51&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádka 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádka 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Genericita je možnost programovaciho jazyka definovat místo typů jen „vzory typů“, kde typy proměnných, použité v definici typu (rozuměj v typu jako ADT), jsou vyvedeny vně definice jako parametry a jsou určeny později klientskou aplikací. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Zakladnim užitim &lt;/del&gt;genericity jsou třidy kontejnerů, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ktere &lt;/del&gt;jsou &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;určene &lt;/del&gt;k &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;udržovani &lt;/del&gt;skupin objektů &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;určiteho &lt;/del&gt;typu, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;napřiklad &lt;/del&gt;vzor třidy Seznam je definovan vlastně jako Seznam&amp;lt;G&amp;gt;, kde G je typ objektů, ktere mohou &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;byt &lt;/del&gt;do seznamu vloženy (kouzlo genericity vynikne pak v &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;kombinaci &lt;/del&gt;s &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;dědičnosti&lt;/del&gt;, kdy do seznamu mohou &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;byt &lt;/del&gt;vloženy nejen objekty typu G, ale i objekty všech možnych dědiců třídy (typu) G). &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Konkretni &lt;/del&gt;typ, použitelný v textu programovacího jazyka pak vzniká, když G nahradíme skutečným &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;existujicim &lt;/del&gt;typem.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Genericita je možnost programovaciho jazyka definovat místo typů jen „vzory typů“, kde typy proměnných, použité v definici typu (rozuměj v typu jako ADT), jsou vyvedeny vně definice jako parametry a jsou určeny později klientskou aplikací. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Základnim užitím &lt;/ins&gt;genericity jsou třidy kontejnerů, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;které &lt;/ins&gt;jsou &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;určené &lt;/ins&gt;k &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;udržování &lt;/ins&gt;skupin objektů &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;určitého &lt;/ins&gt;typu, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;například &lt;/ins&gt;vzor třidy Seznam je definovan vlastně jako Seznam&amp;lt;G&amp;gt;, kde G je typ objektů, ktere mohou &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;být &lt;/ins&gt;do seznamu vloženy (kouzlo genericity vynikne pak v &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;kombinací &lt;/ins&gt;s &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;dědičností&lt;/ins&gt;, kdy do seznamu mohou &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;být &lt;/ins&gt;vloženy nejen objekty typu G, ale i objekty všech možnych dědiců třídy (typu) G). &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Konkrétní &lt;/ins&gt;typ, použitelný v textu programovacího jazyka pak vzniká, když G nahradíme skutečným &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;existujícím &lt;/ins&gt;typem.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Příklad:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Příklad:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádka 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádka 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Máme List&amp;lt;T&amp;gt; kde T je libovolný typ. Když List alokujeme, použijeme List&amp;lt;int&amp;gt; intList = new List&amp;lt;int&amp;gt;(), a tento list poté akceptuje jen čísla typu int.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Máme List&amp;lt;T&amp;gt; kde T je libovolný typ. Když List alokujeme, použijeme List&amp;lt;int&amp;gt; intList = new List&amp;lt;int&amp;gt;(), a tento list poté akceptuje jen čísla typu int.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Extrémní případy dovolují mnohé šílenosti, jako třeba List &amp;lt; List &amp;lt; List &amp;lt; HodnotaTabulky &amp;gt; &amp;gt; &amp;gt; je seznam tabulek :D&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Extrémní případy dovolují mnohé šílenosti, jako třeba &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;List &amp;lt; List &amp;lt; List &amp;lt; HodnotaTabulky &amp;gt; &amp;gt; &amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;je seznam tabulek :D&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Pokud definujeme vzor (template, proto se používá T), používáme místo int prostě zástupce T&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Pokud definujeme vzor (template, proto se používá T), používáme místo int prostě zástupce T&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádka 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádka 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Např.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Např.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;public interface List&amp;lt;T&amp;gt; { &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;// vytváříme interface, který říká, že nad typem &amp;lt;T&amp;gt; bude list&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;public interface List&amp;lt;T&amp;gt; { &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160;  &lt;/ins&gt;// vytváříme interface, který říká, že nad typem &amp;lt;T&amp;gt; bude list&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &lt;/del&gt;void add(T x); &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;// Operace přidání prvku (typu &amp;lt;T&amp;gt;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  &lt;/ins&gt;void add(T x); &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  &lt;/ins&gt;// Operace přidání prvku (typu &amp;lt;T&amp;gt;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &lt;/del&gt;Iterator&amp;lt;T&amp;gt; iterator(); &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;// Struktura má iterátor, který definujeme níže&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  &lt;/ins&gt;Iterator&amp;lt;T&amp;gt; iterator(); &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &lt;/ins&gt;// Struktura má iterátor, který definujeme níže&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &lt;/del&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;public interface Iterator&amp;lt;T&amp;gt; {&amp;#160; // Iterátor pohybující se po prvcích typu &amp;lt;T&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;public interface Iterator&amp;lt;T&amp;gt; {&amp;#160; // Iterátor pohybující se po prvcích typu &amp;lt;T&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &lt;/del&gt;T next(); &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/del&gt;// Metoda vrací další prvek v pořadí&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  &lt;/ins&gt;T next(); &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/ins&gt;// Metoda vrací další prvek v pořadí&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &lt;/del&gt;boolean hasNext(); &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/del&gt;// Jen aby bylo vidět, že nemusíme jen vracet &amp;lt;T&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  &lt;/ins&gt;boolean hasNext(); &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  &lt;/ins&gt;// Jen aby bylo vidět, že nemusíme jen vracet &amp;lt;T&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Což je takhle k ničemu, protože typ T kromě hodnoty nemá nic, co bychom mohli využít. Použijeme tedy obalení do třídy, např&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Což je takhle k ničemu, protože typ T kromě hodnoty nemá nic, co bychom mohli využít. Použijeme tedy obalení do třídy, např&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;public class Wrapper&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;public class Wrapper {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  &lt;/ins&gt;T value;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160;  &lt;/del&gt;T value;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  &lt;/ins&gt;Wrapper next();&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &lt;/del&gt;Wrapper next();&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;a s tou pak pracujeme.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;a s tou pak pracujeme.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;V některých jazycích lze T omezit, třeba jen na typy implementující Iterable.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;V některých jazycích lze T omezit, třeba jen na typy implementující Iterable.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Tester</name></author>	</entry>

	<entry>
		<id>https://www.512.cz/index.php?title=Generi%C4%8Dnost&amp;diff=164&amp;oldid=prev</id>
		<title>Tester v 14. 8. 2011, 20:15</title>
		<link rel="alternate" type="text/html" href="https://www.512.cz/index.php?title=Generi%C4%8Dnost&amp;diff=164&amp;oldid=prev"/>
				<updated>2011-08-14T20:15:36Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Starší verze&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Verze z 14. 8. 2011, 20:15&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádka 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádka 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;minus;&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Genericita je možnost programovaciho jazyka definovat &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;misto &lt;/del&gt;typů jen „vzory typů“, kde typy proměnných, použité v definici typu (rozuměj v typu jako ADT), jsou vyvedeny vně definice jako parametry a jsou určeny později klientskou aplikací. Zakladnim užitim genericity jsou třidy kontejnerů, ktere jsou určene k udržovani skupin objektů určiteho typu, napřiklad vzor třidy Seznam je definovan vlastně jako Seznam&amp;lt;G&amp;gt;, kde G je typ objektů, ktere mohou byt do seznamu vloženy (kouzlo genericity vynikne pak v kombinaci s dědičnosti, kdy do seznamu mohou byt vloženy nejen objekty typu G, ale i objekty všech možnych dědiců třídy (typu) G). Konkretni typ, použitelný v textu programovacího jazyka pak vzniká, když G nahradíme skutečným existujicim typem.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Genericita je možnost programovaciho jazyka definovat &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;místo &lt;/ins&gt;typů jen „vzory typů“, kde typy proměnných, použité v definici typu (rozuměj v typu jako ADT), jsou vyvedeny vně definice jako parametry a jsou určeny později klientskou aplikací. Zakladnim užitim genericity jsou třidy kontejnerů, ktere jsou určene k udržovani skupin objektů určiteho typu, napřiklad vzor třidy Seznam je definovan vlastně jako Seznam&amp;lt;G&amp;gt;, kde G je typ objektů, ktere mohou byt do seznamu vloženy (kouzlo genericity vynikne pak v kombinaci s dědičnosti, kdy do seznamu mohou byt vloženy nejen objekty typu G, ale i objekty všech možnych dědiců třídy (typu) G). Konkretni typ, použitelný v textu programovacího jazyka pak vzniká, když G nahradíme skutečným existujicim typem.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Příklad:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Příklad:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Tester</name></author>	</entry>

	<entry>
		<id>https://www.512.cz/index.php?title=Generi%C4%8Dnost&amp;diff=67&amp;oldid=prev</id>
		<title>Tester: Založena nová stránka: Genericita je možnost programovaciho jazyka definovat misto typů jen „vzory typů“, kde typy proměnných, použité v definici typu (rozuměj v typu jako ADT), jsou ...</title>
		<link rel="alternate" type="text/html" href="https://www.512.cz/index.php?title=Generi%C4%8Dnost&amp;diff=67&amp;oldid=prev"/>
				<updated>2011-08-08T15:05:03Z</updated>
		
		<summary type="html">&lt;p&gt;Založena nová stránka: Genericita je možnost programovaciho jazyka definovat misto typů jen „vzory typů“, kde typy proměnných, použité v definici typu (rozuměj v typu jako ADT), jsou ...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nová stránka&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Genericita je možnost programovaciho jazyka definovat misto typů jen „vzory typů“, kde typy proměnných, použité v definici typu (rozuměj v typu jako ADT), jsou vyvedeny vně definice jako parametry a jsou určeny později klientskou aplikací. Zakladnim užitim genericity jsou třidy kontejnerů, ktere jsou určene k udržovani skupin objektů určiteho typu, napřiklad vzor třidy Seznam je definovan vlastně jako Seznam&amp;lt;G&amp;gt;, kde G je typ objektů, ktere mohou byt do seznamu vloženy (kouzlo genericity vynikne pak v kombinaci s dědičnosti, kdy do seznamu mohou byt vloženy nejen objekty typu G, ale i objekty všech možnych dědiců třídy (typu) G). Konkretni typ, použitelný v textu programovacího jazyka pak vzniká, když G nahradíme skutečným existujicim typem.&lt;br /&gt;
&lt;br /&gt;
Příklad:&lt;br /&gt;
&lt;br /&gt;
Máme List&amp;lt;T&amp;gt; kde T je libovolný typ. Když List alokujeme, použijeme List&amp;lt;int&amp;gt; intList = new List&amp;lt;int&amp;gt;(), a tento list poté akceptuje jen čísla typu int.&lt;br /&gt;
&lt;br /&gt;
Extrémní případy dovolují mnohé šílenosti, jako třeba List &amp;lt; List &amp;lt; List &amp;lt; HodnotaTabulky &amp;gt; &amp;gt; &amp;gt; je seznam tabulek :D&lt;br /&gt;
&lt;br /&gt;
Pokud definujeme vzor (template, proto se používá T), používáme místo int prostě zástupce T&lt;br /&gt;
&lt;br /&gt;
Např.&lt;br /&gt;
&lt;br /&gt;
public interface List&amp;lt;T&amp;gt; {  // vytváříme interface, který říká, že nad typem &amp;lt;T&amp;gt; bude list&lt;br /&gt;
    void add(T x);  // Operace přidání prvku (typu &amp;lt;T&amp;gt;)&lt;br /&gt;
    Iterator&amp;lt;T&amp;gt; iterator();  // Struktura má iterátor, který definujeme níže&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
public interface Iterator&amp;lt;T&amp;gt; {  // Iterátor pohybující se po prvcích typu &amp;lt;T&amp;gt;&lt;br /&gt;
    T next();                                     // Metoda vrací další prvek v pořadí&lt;br /&gt;
    boolean hasNext();               // Jen aby bylo vidět, že nemusíme jen vracet &amp;lt;T&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Což je takhle k ničemu, protože typ T kromě hodnoty nemá nic, co bychom mohli využít. Použijeme tedy obalení do třídy, např&lt;br /&gt;
&lt;br /&gt;
public class Wrapper&lt;br /&gt;
{&lt;br /&gt;
     T value;&lt;br /&gt;
      Wrapper next();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a s tou pak pracujeme.&lt;br /&gt;
&lt;br /&gt;
V některých jazycích lze T omezit, třeba jen na typy implementující Iterable.&lt;/div&gt;</summary>
		<author><name>Tester</name></author>	</entry>

	</feed>