Abstract |
Cílem této úlohy je seznámit studenta s pojmem rozhraní a se způsobem práce s ním. |
Student by měl zvládat
Rozumět principům objektového programování v jazyce Java.
Umět pracovat s rozhraními (klíčové slovo interface).
Umět použít výrazu if()
V zadání jsou nadefinována dvě rozhraní, která souvisí s měřením sportovních výkonů.
Rozhraní Length slouží k uchovávání vzdáleností při jednotlivých pokusech, např. při hodu oštěpem, skoku do dálky apod. Předepisuje metody pro uložení naměřené vzdálenosti v metrech, v centimetrech a k získání nejdelšího naměřeného pokusu sportovce.
Rozhraní JudgePoints slouží k uchovávání bodů u sportů, které jsou hodnoceny rozhodčími, např. krasobruslení, skoky na lyžích apod. Předepisuje metody pro uložení bodů od rozhodčích v jednotlivých pokusech a získání největšího bodového zisku.
Vytvořte třídu LongJump, tj. třídu pro disciplínu skok do dálky. U skoku do dálky se měří pouze vzdálenost, proto bude třída implementovat rozhraní Length.
Vytvořte třídu SkiJump, tj. třídu pro disciplínu skoky na lyžích. U skoku na lyžích se měří vzdálenost a zároveň skok hodnotí rozhodčí. Proto bude třída implementovat rozhraní Length i rozhraní JudgePoints.
Rada1: Všimněte si, že v implementaci není nutné pamatovat si konkrétní naměřené vzdálenosti, ani konkrétní body od rozhodčích.
Rada2: Implementace stejného rozhraní třídami LongJump a SkiJump vede k opakování stejného kódu v obou třídách. To ničemu nevadí. Později se na přednáškách dozvíte, jak to řešit lépe pomocí dědičnosti.
Před odevzdáním si zkontrolujte:
Zda jdou úloha a všechny testy přeložit.
Zda všechny testy skončí úspěšně.
Zda jste nezapomněli správně vyplnit hlavičky všech tříd ve formátu JavaDoc (popis třídy, autor, popis všech metod, apod.)