<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://cw.fel.cvut.cz/b232/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://cw.fel.cvut.cz/b232/feed.php">
        <title>CourseWare Wiki courses:b0b36pjv:tutorials:04</title>
        <description></description>
        <link>https://cw.fel.cvut.cz/b232/</link>
        <image rdf:resource="https://cw.fel.cvut.cz/b232/lib/tpl/bulma-cw/images/favicon.ico" />
       <dc:date>2026-05-04T00:45:20+0200</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b0b36pjv/tutorials/04/abstract?rev=1614766410&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b0b36pjv/tutorials/04/enum?rev=1614765864&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b0b36pjv/tutorials/04/generika?rev=1614766092&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b0b36pjv/tutorials/04/interfaces?rev=1614766302&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b0b36pjv/tutorials/04/overloading?rev=1614766507&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b0b36pjv/tutorials/04/start?rev=1646558520&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://cw.fel.cvut.cz/b232/lib/tpl/bulma-cw/images/favicon.ico">
        <title>CourseWare Wiki</title>
        <link>https://cw.fel.cvut.cz/b232/</link>
        <url>https://cw.fel.cvut.cz/b232/lib/tpl/bulma-cw/images/favicon.ico</url>
    </image>
    <item rdf:about="https://cw.fel.cvut.cz/b232/courses/b0b36pjv/tutorials/04/abstract?rev=1614766410&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-03T11:13:30+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b0b36pjv:tutorials:04:abstract</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b0b36pjv/tutorials/04/abstract?rev=1614766410&amp;do=diff</link>
        <description>Abstraktní třídy a metody

V Javě je možné vytvořit takzvanou abstraktní metodu. Jedná se o metodu, u které je definovaná pouze její signatura, ale nikoliv její implementace. Příklad definice abstraktní metody:



public abstract void foo();</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b232/courses/b0b36pjv/tutorials/04/enum?rev=1614765864&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-03T11:04:24+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b0b36pjv:tutorials:04:enum</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b0b36pjv/tutorials/04/enum?rev=1614765864&amp;do=diff</link>
        <description>Výčtový typ - Enum

Pro účely karetních her zkusme porovnat reprezentaci barev karet pomocí konstant a pomocí enum.
Všechny úkoly zkuste nejprve pomocí konstant:

A nyní pomocí ENUM, pro načtení hodnot můžete použít static import. Napište metody pro výpis a výpis v angličtině (diamonds (♦), spades (♠), hearts (♥) and clubs (♣)).
Kde jsou nebezpečí používání konstant?</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b232/courses/b0b36pjv/tutorials/04/generika?rev=1614766092&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-03T11:08:12+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b0b36pjv:tutorials:04:generika</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b0b36pjv/tutorials/04/generika?rev=1614766092&amp;do=diff</link>
        <description>Generika

Generika umožňují vytvářet třídy a metody “on demand” parametrizované nějakou jinou třídou (ale nikoliv např. číslem, což je možné např. v C++, kde se to nazývá “templates” neboli šablony).

Generická třída a rozhraní</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b232/courses/b0b36pjv/tutorials/04/interfaces?rev=1614766302&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-03T11:11:42+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b0b36pjv:tutorials:04:interfaces</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b0b36pjv/tutorials/04/interfaces?rev=1614766302&amp;do=diff</link>
        <description>Rozhraní (interface)

Rozhraní je velice podobné abstraktním třídám. Jedná se o “něco jako třídu”, zkrátka rozhraní, které definuje metody, ale nikoliv jejich implementace. To znamená, že v rozhraní jsou vždy všechny metody abstraktní, a proto se také nemusí psát (a ani nepíše) klíčové slovo</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b232/courses/b0b36pjv/tutorials/04/overloading?rev=1614766507&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-03T11:15:07+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b0b36pjv:tutorials:04:overloading</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b0b36pjv/tutorials/04/overloading?rev=1614766507&amp;do=diff</link>
        <description>Přetížení vs přepsání (overloading vs overriding)

Zdánlivě podobné, avšak zcela rozdílné koncepty, které si nesmíte plést.

Přetížení

Přetížení (angl. overloading) je případ, kdy jedna třída obsahuje více metod se stejným jménem, ale</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b232/courses/b0b36pjv/tutorials/04/start?rev=1646558520&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-06T10:22:00+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b0b36pjv:tutorials:04:start</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b0b36pjv/tutorials/04/start?rev=1646558520&amp;do=diff</link>
        <description>4. Cvičení

Info pro ucitele

Toto cvičení je zaměřeno na procvičení práce se spojovými datovými strukturami. V druhé části cvičení se zaměříme na dědičnost a návrhový vzor double dispatch.

Úkoly na cvičení

Polymorfizmus

Úkol 1. - Úvod do problematiky</description>
    </item>
</rdf:RDF>
