Písemka číslo 2 Vláček Petr Adámek Abstract Cílem tohoto testu je ověřit znalosti principů a užití dědičnosti a rozhraní. _________________________________________________________________ Table of Contents Zadání Odevzdání písemky Zadání Vytvořte abstraktní třídu cz.muni.fi.pb162.test2.AbstractVehicle, která bude implementovat zadané rozhraní cz.muni.fi.pb162.test2.Vehicle. Třída bude mít atribut length typu double, který bude obsahovat délku dopravního prostředku. Dále bude mít chráněný konstruktor s parametrem obsahujícím délku dopravního prostředku a metodu getLength() vracející tuto hodnotu. Vytvořte třídu cz.muni.fi.pb162.test2.Locomotive, která bude reprezentovat lokomotivu a která bude potomkem třídy cz.muni.fi.pb162.test2.AbstractVehicle. Bude mít konstruktor s jedním parametrem, obsahujícím délku lokomotivy, a metodu toString(), která vrátí řetězec ve tvaru "Locomotive (length: )". Dále vytvořte třídu cz.muni.fi.pb162.test2.Carriage, která bude reprezentovat železniční vagón a která bude potomkem třídy cz.muni.fi.pb162.test2.AbstractVehicle. Bude mít konstruktor s jedním parametrem, obsahujícím délku vagónu, a metodu toString(), která vrátí řetězec ve tvaru "Carriage (length: )". Pokračujte vytvořením třídy cz.muni.fi.pb162.test2.Train, která bude reprezentovat vlak a která bude implementovat rozhraní cz.muni.fi.pb162.test2.Vehicle. Třída bude mít atribut locomotive typu Locomotive, carriage typu Carriage a carriagesCount typu int. Třída bude mít konstruktor s třemi parametry, obsahujícími inicializační hodnoty těchto atributů. Metoda toString() bude vracet řetězec ve tvaru "Train (length: ) [Locomotive (length: ), x Carriage (length: )]". Nakonec vytvořte třídu cz.muni.fi.pb162.test2.Main, která bude obsahovat statickou metodu printInfo(Vehicle vehicle), která na standardní výstup vypíše informace o zadaném vozidle. Třída bude také obsahovat metodu main(String[]), v níž vytvoříte dvě mašinky a dva vagónky s různou délkou a složíte z nich dva vláčky, které budou mít různý počet vagónků. Informace o obou mašinkách, vagóncích i vláčcích vypíšete na standardní výstup pomocí metody printInfo(Vehicle vehicle). Odevzdání písemky Před odevzdáním písemky si zkontrolujte: 1. Zda jde Vaše řešení přeložit a zda jdou přeložit i všechny testy. Pokud řešení nebo testovací třídy nepůjdou přeložit, řešení se hodnotí nulovým počtem bodů! 2. Zdali všechny testy projdou bez chyby.