Jednoduchý rezervační systém pro leteckou společnost
Zadání
Dopište jednoduchý rezervační systém pro leteckou společnost. Systém musí umět přidávat a rušit rezervace v letadle, včetně ošetření všech chybových stavů pomocí výjímek.
Popis
Vaším úkolem je napsat třídy Letadlo (implementuje rozhraní LetadloInt) a Let (implementuje rozhraní LetInt).
Třída Letadlo musí obsahovat:
- atributy, které reprezentují počet volných míst v letadle a kolik má který klient rezervovaných míst
- konstruktor (s jedním celočíselným parametrem, který udává kapacitu letadla)
- metody rezervuj a zrusRezervaci (více viz LetadloInt.java)
- metodu, která realizuje implicitní převod typu Letadlo na String. Výsledný String musí obsahovat seznam rezervací v letadle
- metodu void vypis(), která vypíše informace od daném letadle (opět minimálně seznam rezervací)
Třída Let musí obsahovat:
- atributy, které slouží k uložení informací o trase letu (odkud kam se letí) a o letadle, které daný let realizuje
- konstruktor s hlavičkou Let(String odkud, String kam, int mist), kde odkud a kam jsou pocatecni resp. cilový bod trasy a míst je požadovaný maximální počet míst v letadle. Konstruktor slouží k vytvoření letadla s mist místy.
- metody rezervuj resp. zrusRezervace, které slouží k rezervování (rušení rezervace) v letadle, kterým se letí (více viz LetInt.java)
- metodu pro implicitní převod třídy Let na řetězec. Výsledný řetězec musí obsahovat odkud kam se letí a informace o letadle, kterým se letí.
- metodu void vypis(), která vypíše informace o daném letadle (stejné informace, jako vrací předchozí metoda).
Tyto třídy využívá třída Aerolinky
Třídy s veškerými potřebnými výjímkami najdete v archivu vyjimky.zip. Tento archiv si rozbalte, abyste mohli s danými třídami pracovat.
K vyzkoušení použijte třídu TestAerolinky.class. Budete ještě potřebovat junit.