Autor: | Martin Lasoň |
---|---|
Organizace: | Katedra informatiky FEI VŠB-TU Ostrava |
Popis: | Cílem tohoto cvičení je základní seznámení s rozhraními a jejich implementací. |
Metoda bubbleSort pracuje obecně nad libovolnými objekty, které implementují rozhraní Porovnatelny. Metody tohoto rozhraní umožňují porovnávat objekty podle velikosti. Pokud chceme umožnit použití této metody pro nějakou třídu, stačí za klíčovým slovem implements deklarovat, že tato třída implementuje rozhraní Porovnatelny a implementovat všechny požadované metody.
Příkladem třídy implementující rozhraní Porovnatelny je třída Zlomek převzatá z minulého cvičení a doplněná o implementací rozhraní.
Hlavní program, metoda main, ukazuje použití metody bubbleSort na řazení zlomků a komplexních čísel. Zajistit, aby řazení komplexních čísel fungovalo, je ovšem už vašim dalším úkolem. Povšimněte si ještě volání statické metody Math.random(), která vygeneruje náhodné číslo z intervalu (0,1). Pro vytvoření náhodného zlomku je vygenerované reálné číslo upraveno na celé číslo z intervalu 1..20.
Pro řazení komplexních čísel použijte jejich absolutní hodnotu - větší komplexní číslo musí mít větší absolutní hodnotu.
Rozhraní Comparator umožňuje doplnit schopnost porovnávání i do těch tříd, které již existují a jejichž zdrojový text nemáme k dispozici nebo nemůžeme modifikovat. Metoda bubbleSort v tom případě pro porovnání využije předaný objekt typu Comparator (tj. libovolný objekt implementující toto rozhraní).