Teď je dvanáctý výukový týden, kdy si sami prostudujte v přednáškách vše do snímku "Konstrukce try – (catch –) finally". Přednášky z jazyka Java jsou stále na stránce http://efis.tul.cz/~dana.nejedlova/ v odstavci "Moderní programování". Z nové látky se ke zkoušce naučte především následující témata: - Rozhraní (interface). - Porovnání s vícenásobnou dědičností a s abstraktní třídou. - Třída může implementovat více rozhraní ale dědit jen z jediné třídy. - Využití operátoru instanceof. - Viz například projekt dostupný pod odkazem "Kalkulačka s řídící strukturou switch" na mé stránce http://efis.tul.cz/~dana.nejedlova/ - Polymorfizmus. - Využití referenční proměnné typu rozhraní nebo mateřské třídy. - Viz například projekt dostupný pod odkazem "Kalkulačka" na mé stránce http://efis.tul.cz/~dana.nejedlova/ - Vnořená třída. - Umět ji v kódu vlastního projektu poznat například, když projekt využívá adaptéry v grafických prostředích typu AWT či Swing nebo třídění. - Výjimky. - Práce s výjimkami je povinná část projektu ke zkoušce. - V projektu musí vznikat výjimky, které nejsou potomky třídy RuntimeException. - V projektu musí být všechny výjimky ošetřeny, tedy zachyceny pomocí bloku catch. To znamená, že hlavička "public static void main(String[] args)" nesmí obsahovat slovo "throws". - Typická část projektu, kde se může pracovat s výjimkami, je metoda pro zadávání čísel, kterou můžete převzít ze snímků "Kompletní ošetření výjimky" nebo "Využití vlastní výjimky" mých přednášek z jazyka Java nebo z projektu dostupném pod odkazem "Příklad práce se soubory a výjimkami" na mé stránce http://efis.tul.cz/~dana.nejedlova/ - Praktické použití výjimek: - Když v projektu použijeme nějakou metodu z Java API, tak se podíváme do její dokumentace a zjistíme, jaké typu výjimek vyhazuje, pokud je v její dokumentaci část "Throws:", a ty zachytíme v bloku catch. - Pokud je chceme zachytit bez jejich rozlišení, tak do závorky za slovem "catch" dáme jejich společného předka, kterého zjistíme z dokumentace kliknutím na každý typ výjimky, po kterém se nám zobrazí předci této třídy. Většinou je společným předkem třída "Exception". - Pokud je chceme zachytit s odlišnou reakcí dle typu výjimky, tak bude za blokem "try" více "catch" bloků. - Pokud některá zachytávaná výjimka dědí z jiné zachytávané výjimky, musí blok "catch" pro její zachycení předcházet bloku pro zachycení jejího předka, viz například snímky "Vytvoření vlastní výjimky" a "Využití vlastní výjimky" mých přednášek z jazyka Java.