<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Komentáře k příspěvku: Java interface tajemství zbavený</title>
	<atom:link href="http://www.dadajax.net/java-interface-tajemstvi-zbaveny/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dadajax.net/java-interface-tajemstvi-zbaveny/</link>
	<description>blog o technice, počítačích, programování a fotografování</description>
	<lastBuildDate>Tue, 07 Feb 2012 17:14:48 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
	<item>
		<title>Od: Gregor</title>
		<link>http://www.dadajax.net/java-interface-tajemstvi-zbaveny/comment-page-1/#comment-19172</link>
		<dc:creator>Gregor</dc:creator>
		<pubDate>Tue, 20 Sep 2011 11:05:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadajax.net/?p=887#comment-19172</guid>
		<description>Este by som doplnil, ako to cele spustit, tiez som tomu velmi nerozumel. :) Dik

public class Test {

	public static void main(String[] args){
	
		Uzivatel zobraz = new Uzivatel();
		zobraz.vyberMys();
	}
	
}</description>
		<content:encoded><![CDATA[<p>Este by som doplnil, ako to cele spustit, tiez som tomu velmi nerozumel. <img src='http://dadajax.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Dik</p>
<p>public class Test {</p>
<p>	public static void main(String[] args){</p>
<p>		Uzivatel zobraz = new Uzivatel();<br />
		zobraz.vyberMys();<br />
	}</p>
<p>}</p>
]]></content:encoded>
	</item>
	<item>
		<title>Od: Jan</title>
		<link>http://www.dadajax.net/java-interface-tajemstvi-zbaveny/comment-page-1/#comment-17610</link>
		<dc:creator>Jan</dc:creator>
		<pubDate>Fri, 29 Jul 2011 09:06:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadajax.net/?p=887#comment-17610</guid>
		<description>jj děkuji, 
 
právě máme na interface a ArralyList školení. Chce to zažít v praxi a používat interface právě kvůli budoucím rozšíření.

Děkuji
S pozdravem
Jan</description>
		<content:encoded><![CDATA[<p>jj děkuji, </p>
<p>právě máme na interface a ArralyList školení. Chce to zažít v praxi a používat interface právě kvůli budoucím rozšíření.</p>
<p>Děkuji<br />
S pozdravem<br />
Jan</p>
]]></content:encoded>
	</item>
	<item>
		<title>Od: rudyment</title>
		<link>http://www.dadajax.net/java-interface-tajemstvi-zbaveny/comment-page-1/#comment-17607</link>
		<dc:creator>rudyment</dc:creator>
		<pubDate>Fri, 29 Jul 2011 06:57:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadajax.net/?p=887#comment-17607</guid>
		<description>První věcí je, že bych v daném případě nepoužil pole, ale seznam. V případě pole totiž musím dopředu vědět, kolik v něm těch myší bude a nemohu proto přidávat za chodu další. Tento problém u seznamu odpadá.

Daný příklad se snaží ukázat, že se všemi instancemi implementujícími dané rozhraní se dá pracovat stejně. To právě ukazují následující dvě metody. Prví testuje myš zadanou v parametru, přičemž metodu vůbec nazajímá, co je to ve skutečnosti za myš. Pro ni je to prostě klasická myš a jako takovou ji testuje.

No a druhá metoda projde všechny uložené myši a každou z nich předá té první k otestování. Takže jak se vám bude rozšiřovat sbírka vašich myší, budete je postupně přidávat do pole (nebo podle mne do seznamu) a můžete je pak hromadně testovat.

Takto by se zdálo, že má smysl otestovat pouze poslední myš, protože ty starší už jsou otestované. Jenomže stejně jako můžete rozšiřovat sbírku myší, tak můžete vylepšovat i test a doplnit jej např. o test dvojkliku nebo současného stisku levého a pravého tlačítka. No a pak se vám hodí metoda, která vezme ze seznamu postupně jednu myš za druhou a každou prožene upraveným testem.</description>
		<content:encoded><![CDATA[<p>První věcí je, že bych v daném případě nepoužil pole, ale seznam. V případě pole totiž musím dopředu vědět, kolik v něm těch myší bude a nemohu proto přidávat za chodu další. Tento problém u seznamu odpadá.</p>
<p>Daný příklad se snaží ukázat, že se všemi instancemi implementujícími dané rozhraní se dá pracovat stejně. To právě ukazují následující dvě metody. Prví testuje myš zadanou v parametru, přičemž metodu vůbec nazajímá, co je to ve skutečnosti za myš. Pro ni je to prostě klasická myš a jako takovou ji testuje.</p>
<p>No a druhá metoda projde všechny uložené myši a každou z nich předá té první k otestování. Takže jak se vám bude rozšiřovat sbírka vašich myší, budete je postupně přidávat do pole (nebo podle mne do seznamu) a můžete je pak hromadně testovat.</p>
<p>Takto by se zdálo, že má smysl otestovat pouze poslední myš, protože ty starší už jsou otestované. Jenomže stejně jako můžete rozšiřovat sbírku myší, tak můžete vylepšovat i test a doplnit jej např. o test dvojkliku nebo současného stisku levého a pravého tlačítka. No a pak se vám hodí metoda, která vezme ze seznamu postupně jednu myš za druhou a každou prožene upraveným testem.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Od: Jan</title>
		<link>http://www.dadajax.net/java-interface-tajemstvi-zbaveny/comment-page-1/#comment-17605</link>
		<dc:creator>Jan</dc:creator>
		<pubDate>Fri, 29 Jul 2011 06:33:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadajax.net/?p=887#comment-17605</guid>
		<description>Děkuji,

ono je to důležité doplnit o tu dědičnost. Rozhraní může dědit z více dalších rozhraní. Tím nám vznikne už nějaká stromová struktura rozhraní. 

V tom příkladu ale stále nechápu jaký význam část v konstruktor Uzivatel, kde 

// Přidáme do pole s myšmi myš s lampičkou.
KlasickaMys mys2 = new MysSLampickou();
poleMysi[1] = mys2;

Toto přece je zbytečné ne? Jak a pro co se to dá použít?</description>
		<content:encoded><![CDATA[<p>Děkuji,</p>
<p>ono je to důležité doplnit o tu dědičnost. Rozhraní může dědit z více dalších rozhraní. Tím nám vznikne už nějaká stromová struktura rozhraní. </p>
<p>V tom příkladu ale stále nechápu jaký význam část v konstruktor Uzivatel, kde </p>
<p>// Přidáme do pole s myšmi myš s lampičkou.<br />
KlasickaMys mys2 = new MysSLampickou();<br />
poleMysi[1] = mys2;</p>
<p>Toto přece je zbytečné ne? Jak a pro co se to dá použít?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Od: rudyment</title>
		<link>http://www.dadajax.net/java-interface-tajemstvi-zbaveny/comment-page-1/#comment-17603</link>
		<dc:creator>rudyment</dc:creator>
		<pubDate>Fri, 29 Jul 2011 05:57:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadajax.net/?p=887#comment-17603</guid>
		<description>Loňský dotaz Yemiho mi utekl, tak odpovím až nyní.

Interface deklaruje, co musejí umět instance třídy, která se rozhodne jej implementovat. Co umějí navíc není z hlediska příslušného rozhraní zjímavé. Třída, která implementuje rozhraní, tím zabezpečí, že se její instance mohou vydávat za instance daného rozhraní (něco jako když se ve filmu Vrchní prchni Abrhám vydával za vrchního).

Interface KlasickáMyš deklaruje, co musejí umět všechny myši, které se chtějí vydávat za klasickou myš. Když definuji metodu s parametrem typu KlasickáMyš, je mi jedno, jaká bude daná myš ve skutečnosti, protože vím, že mi stačí, že se mohu spolehnout na to, že umí reagovat na stisk levého a pravého tlačítka (takže např. původní myš Applu, která měla jediné tlačítko, by zde použít nešla).

Kdybych potřeboval třítlačítkovou myš, musel bych si pro ni definovat nové rozhraní, které by bylo potomkem předchozího (aby se ona třítlačítková myš mohla vydávat za klasickou) a které by navíc deklarovalo metodu pro reakci na stisk třetího tlačítka.

Za třítlačítkovou myš by se pak mohly vydávat všechny myši, které mají alespoň tří tlačítka.

S podrobnějším výkladem bych opět odkázal na knihu &quot;OOP - Naučte se myslet a programovat objektově&quot;, o níž jeden recenzent prohlásil, že z ní musí OOP pochopit každý, kdo umí číst.</description>
		<content:encoded><![CDATA[<p>Loňský dotaz Yemiho mi utekl, tak odpovím až nyní.</p>
<p>Interface deklaruje, co musejí umět instance třídy, která se rozhodne jej implementovat. Co umějí navíc není z hlediska příslušného rozhraní zjímavé. Třída, která implementuje rozhraní, tím zabezpečí, že se její instance mohou vydávat za instance daného rozhraní (něco jako když se ve filmu Vrchní prchni Abrhám vydával za vrchního).</p>
<p>Interface KlasickáMyš deklaruje, co musejí umět všechny myši, které se chtějí vydávat za klasickou myš. Když definuji metodu s parametrem typu KlasickáMyš, je mi jedno, jaká bude daná myš ve skutečnosti, protože vím, že mi stačí, že se mohu spolehnout na to, že umí reagovat na stisk levého a pravého tlačítka (takže např. původní myš Applu, která měla jediné tlačítko, by zde použít nešla).</p>
<p>Kdybych potřeboval třítlačítkovou myš, musel bych si pro ni definovat nové rozhraní, které by bylo potomkem předchozího (aby se ona třítlačítková myš mohla vydávat za klasickou) a které by navíc deklarovalo metodu pro reakci na stisk třetího tlačítka.</p>
<p>Za třítlačítkovou myš by se pak mohly vydávat všechny myši, které mají alespoň tří tlačítka.</p>
<p>S podrobnějším výkladem bych opět odkázal na knihu &#8222;OOP &#8211; Naučte se myslet a programovat objektově&#8220;, o níž jeden recenzent prohlásil, že z ní musí OOP pochopit každý, kdo umí číst.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Od: Jan</title>
		<link>http://www.dadajax.net/java-interface-tajemstvi-zbaveny/comment-page-1/#comment-17586</link>
		<dc:creator>Jan</dc:creator>
		<pubDate>Thu, 28 Jul 2011 13:03:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadajax.net/?p=887#comment-17586</guid>
		<description>Dobrý den,

celkem dobře napsáno, ale hapruje mi tam přesně to na co se ptá Yemi. Jak z tohoto použiji ty rozšiřující metody, které jsou v dalších myších?

// v objektu mys2 tu rozšiřující třetí metodu nezískám
MouseClicks mys2 = new AdvanceMouse();		
poleMysi[1] = mys2;  // moznosti pouze leve a prave tlacitko
	
to bych musel vytvořit objekt přímo z AdvanceMouse	
AdvanceMouse am = new AdvanceMouse();
am.kliknutiProstrednimTlacitkem(); // toto je ta třetí metoda - prostredni tlacitko</description>
		<content:encoded><![CDATA[<p>Dobrý den,</p>
<p>celkem dobře napsáno, ale hapruje mi tam přesně to na co se ptá Yemi. Jak z tohoto použiji ty rozšiřující metody, které jsou v dalších myších?</p>
<p>// v objektu mys2 tu rozšiřující třetí metodu nezískám<br />
MouseClicks mys2 = new AdvanceMouse();<br />
poleMysi[1] = mys2;  // moznosti pouze leve a prave tlacitko</p>
<p>to bych musel vytvořit objekt přímo z AdvanceMouse<br />
AdvanceMouse am = new AdvanceMouse();<br />
am.kliknutiProstrednimTlacitkem(); // toto je ta třetí metoda &#8211; prostredni tlacitko</p>
]]></content:encoded>
	</item>
	<item>
		<title>Od: Yemi</title>
		<link>http://www.dadajax.net/java-interface-tajemstvi-zbaveny/comment-page-1/#comment-7536</link>
		<dc:creator>Yemi</dc:creator>
		<pubDate>Sun, 05 Sep 2010 13:58:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadajax.net/?p=887#comment-7536</guid>
		<description>Cau chtel bych se zeptat, jaky je rozdil mezi: KlasickaMys mys1 = new UplneObycejnaMys();

a UplneObycejnaMys mys1 = new UplneObycejnaMys(); ??

a 

public void otestujMys(KlasickaMys mysNaOtestovani) {
       mysNaOtestovani.kliknutiLevymTlacitkem();
       mysNaOtestovani.kliknutiPravymTlacitkem();
     
     }
kdyby zde vytvoril instance tridy te rozsirenejsi mysi a zadal to jako parametr teto metody tak jak se dostanu k metode rozsvitLampicku, kdyz v te metode neni deklarovana? diky predem</description>
		<content:encoded><![CDATA[<p>Cau chtel bych se zeptat, jaky je rozdil mezi: KlasickaMys mys1 = new UplneObycejnaMys();</p>
<p>a UplneObycejnaMys mys1 = new UplneObycejnaMys(); ??</p>
<p>a </p>
<p>public void otestujMys(KlasickaMys mysNaOtestovani) {<br />
       mysNaOtestovani.kliknutiLevymTlacitkem();<br />
       mysNaOtestovani.kliknutiPravymTlacitkem();</p>
<p>     }<br />
kdyby zde vytvoril instance tridy te rozsirenejsi mysi a zadal to jako parametr teto metody tak jak se dostanu k metode rozsvitLampicku, kdyz v te metode neni deklarovana? diky predem</p>
]]></content:encoded>
	</item>
	<item>
		<title>Od: uf</title>
		<link>http://www.dadajax.net/java-interface-tajemstvi-zbaveny/comment-page-1/#comment-6620</link>
		<dc:creator>uf</dc:creator>
		<pubDate>Sun, 23 May 2010 14:34:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadajax.net/?p=887#comment-6620</guid>
		<description>Hlavni je urcit rozhrani (umeni tridy, deklarovat metody) tak, aby pouziti nejake funkcnosti nebylo zavisle na konkeretni implementaci. 

Je pravda, ze v podstate predepisu abstraktniho predka.</description>
		<content:encoded><![CDATA[<p>Hlavni je urcit rozhrani (umeni tridy, deklarovat metody) tak, aby pouziti nejake funkcnosti nebylo zavisle na konkeretni implementaci. </p>
<p>Je pravda, ze v podstate predepisu abstraktniho predka.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Od: Jozef</title>
		<link>http://www.dadajax.net/java-interface-tajemstvi-zbaveny/comment-page-1/#comment-6617</link>
		<dc:creator>Jozef</dc:creator>
		<pubDate>Sat, 22 May 2010 13:36:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadajax.net/?p=887#comment-6617</guid>
		<description>Chcem poďakovať za článok. dobre som pochopil čo to interface je :-), skvele je napísaný . 
Aj ked mi unika jeho použitie, ale ako písal autor, to sa dozviem v praxi. 
Teraz pri písaní mi to došlo. ako autor písal, je to náhrada za mnohonásobnú dedičnosť :-).</description>
		<content:encoded><![CDATA[<p>Chcem poďakovať za článok. dobre som pochopil čo to interface je <img src='http://dadajax.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> , skvele je napísaný .<br />
Aj ked mi unika jeho použitie, ale ako písal autor, to sa dozviem v praxi.<br />
Teraz pri písaní mi to došlo. ako autor písal, je to náhrada za mnohonásobnú dedičnosť <img src='http://dadajax.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
]]></content:encoded>
	</item>
	<item>
		<title>Od: rudyment</title>
		<link>http://www.dadajax.net/java-interface-tajemstvi-zbaveny/comment-page-1/#comment-5864</link>
		<dc:creator>rudyment</dc:creator>
		<pubDate>Wed, 10 Mar 2010 11:24:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadajax.net/?p=887#comment-5864</guid>
		<description>V říjnu se ptal MK, kdy vyjde ona učebnice. Trochu se to protáhlo - mylslel jsem původně, že vyjde v listopadu, ale měli někde v redakci uzel, takže vyšla až na přelomu února a března. Kdyby si jí chtěl někdo pustit přes palec a podívat se, jak se dají rozhraní vysvětlovat a jak se s nimi dá pracovat, te se jmenuje

&quot;OOP - Naučte se myslet a programovat objektově&quot;</description>
		<content:encoded><![CDATA[<p>V říjnu se ptal MK, kdy vyjde ona učebnice. Trochu se to protáhlo &#8211; mylslel jsem původně, že vyjde v listopadu, ale měli někde v redakci uzel, takže vyšla až na přelomu února a března. Kdyby si jí chtěl někdo pustit přes palec a podívat se, jak se dají rozhraní vysvětlovat a jak se s nimi dá pracovat, te se jmenuje</p>
<p>&#8222;OOP &#8211; Naučte se myslet a programovat objektově&#8220;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Od: uf</title>
		<link>http://www.dadajax.net/java-interface-tajemstvi-zbaveny/comment-page-1/#comment-5805</link>
		<dc:creator>uf</dc:creator>
		<pubDate>Sat, 06 Mar 2010 18:32:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadajax.net/?p=887#comment-5805</guid>
		<description>Takze muzes implementovat algoritmus s povinnymi a nepovinnymi kroky</description>
		<content:encoded><![CDATA[<p>Takze muzes implementovat algoritmus s povinnymi a nepovinnymi kroky</p>
]]></content:encoded>
	</item>
	<item>
		<title>Od: uf</title>
		<link>http://www.dadajax.net/java-interface-tajemstvi-zbaveny/comment-page-1/#comment-5804</link>
		<dc:creator>uf</dc:creator>
		<pubDate>Sat, 06 Mar 2010 18:29:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadajax.net/?p=887#comment-5804</guid>
		<description>Ahoj. Abstraktni trida uz implementuje nejake chovani. Muze jit o zakladni tridu urcenou k dedeni, pricemz jeji instance analyticky nema vyznam. 
  Jde o to, ze implementujes zakladni chovani a nektere speciality - abstraktni metody - MUSI implementovat tva trida. 
   Abstraktni trida muze mit i svou metodu, kde se volaji jednotlive kroky scenare. Nektere kroky jsou povinne naprogramovany (private metoda), nektere lze prekryt (protected) a nektere lze (public) nebo se MUSI (abstraktni) implementovat. Takze muzes napr. prekryt u komponenty compActivated(), ale musis prekryt compPersist() nebo buildGUI().</description>
		<content:encoded><![CDATA[<p>Ahoj. Abstraktni trida uz implementuje nejake chovani. Muze jit o zakladni tridu urcenou k dedeni, pricemz jeji instance analyticky nema vyznam.<br />
  Jde o to, ze implementujes zakladni chovani a nektere speciality &#8211; abstraktni metody &#8211; MUSI implementovat tva trida.<br />
   Abstraktni trida muze mit i svou metodu, kde se volaji jednotlive kroky scenare. Nektere kroky jsou povinne naprogramovany (private metoda), nektere lze prekryt (protected) a nektere lze (public) nebo se MUSI (abstraktni) implementovat. Takze muzes napr. prekryt u komponenty compActivated(), ale musis prekryt compPersist() nebo buildGUI().</p>
]]></content:encoded>
	</item>
	<item>
		<title>Od: Dawe</title>
		<link>http://www.dadajax.net/java-interface-tajemstvi-zbaveny/comment-page-1/#comment-5787</link>
		<dc:creator>Dawe</dc:creator>
		<pubDate>Fri, 05 Mar 2010 22:16:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadajax.net/?p=887#comment-5787</guid>
		<description>Diky za rychlou odpoved! Uz mi to je snad jasny :)</description>
		<content:encoded><![CDATA[<p>Diky za rychlou odpoved! Uz mi to je snad jasny <img src='http://dadajax.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Od: rudyment</title>
		<link>http://www.dadajax.net/java-interface-tajemstvi-zbaveny/comment-page-1/#comment-5786</link>
		<dc:creator>rudyment</dc:creator>
		<pubDate>Fri, 05 Mar 2010 21:21:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadajax.net/?p=887#comment-5786</guid>
		<description>Interface je čistá deklarace bez jakékoliv implementace. On jenom deklaruje svoje pžadavky na třídy, které jej následně implementují.

Třída, byť abstraktní, vždy nějakou implementaci má. Dokud se obejdeš bez implementace, jelepší používat interface. Jakmile potřebuješ, aby se něco implementovalo, musíš sáhnout po třídě.

Při definici abstraktního seznamu vystačíš s interfacem do té doby, dokud bude stačit, že jenom deklaruješ, co musí takový seznam umět. (Takto se chová např. interface List ze standardní knihovny.) Jakmile budeš muset naprogramovat i nějaké konkrétní chování, musíš sáhnout po třídě (viz AbstractList, resp. AbstractSequentialList v Javě)-</description>
		<content:encoded><![CDATA[<p>Interface je čistá deklarace bez jakékoliv implementace. On jenom deklaruje svoje pžadavky na třídy, které jej následně implementují.</p>
<p>Třída, byť abstraktní, vždy nějakou implementaci má. Dokud se obejdeš bez implementace, jelepší používat interface. Jakmile potřebuješ, aby se něco implementovalo, musíš sáhnout po třídě.</p>
<p>Při definici abstraktního seznamu vystačíš s interfacem do té doby, dokud bude stačit, že jenom deklaruješ, co musí takový seznam umět. (Takto se chová např. interface List ze standardní knihovny.) Jakmile budeš muset naprogramovat i nějaké konkrétní chování, musíš sáhnout po třídě (viz AbstractList, resp. AbstractSequentialList v Javě)-</p>
]]></content:encoded>
	</item>
	<item>
		<title>Od: Dawe</title>
		<link>http://www.dadajax.net/java-interface-tajemstvi-zbaveny/comment-page-1/#comment-5783</link>
		<dc:creator>Dawe</dc:creator>
		<pubDate>Fri, 05 Mar 2010 18:52:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.dadajax.net/?p=887#comment-5783</guid>
		<description>Mohl by mi prosim nekdo vysvetlit jaky je hlavni rozdil mezi Abstract a interface? Porad mi to neni uplne jasny... Musim udelat Abstraktni seznam v Jave a nejsem si jist, zda je potreba vyuzit Interface nebo zda si vystacim pouze s Abstract ... Predem diky za odpoved!</description>
		<content:encoded><![CDATA[<p>Mohl by mi prosim nekdo vysvetlit jaky je hlavni rozdil mezi Abstract a interface? Porad mi to neni uplne jasny&#8230; Musim udelat Abstraktni seznam v Jave a nejsem si jist, zda je potreba vyuzit Interface nebo zda si vystacim pouze s Abstract &#8230; Predem diky za odpoved!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

