Písemka číslo 2

Motorgenerátor

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.test1.AbstractElectricDevice, která bude implementovat zadané rozhraní cz.muni.fi.pb162.test1.ElectricDevice. Třída bude mít atribut efficiency typu double, který bude obsahovat účinnost zařízení jako číslo v intervalu <0,1). Dále bude mít chráněný konstruktor s parametrem obsahujícím účinnost zařízení a metodu getEfficiency() vracející tuto hodnotu.

Vytvořte třídu cz.muni.fi.pb162.test1.ElectricMotor, která bude reprezentovat elektrický motor. Třída bude potomkem třídy cz.muni.fi.pb162.test1.AbstractElectricDevice. Bude mít konstruktor s parametrem obsahujícím účinnost motoru a metodu toString(), která vrátí řetězec ve tvaru "[Elektrický motor, účinnost = <efficiency>]".

Dále vytvořte třídu cz.muni.fi.pb162.test1.ElectricGenerator, která bude reprezentovat elektrický generátor (tj. dynamo nebo alternátor). Třída bude potomkem třídy cz.muni.fi.pb162.test1.AbstractElectricDevice. Bude mít konstruktor s parametrem obsahujícím účinnost generátoru a metodu toString(), která vrátí řetězec ve tvaru "[Elektrický generátor, účinnost = <efficiency>]".

Pokračujte vytvořením třídy cz.muni.fi.pb162.test1.MotorGenerator, která bude reprezentovat motorgenerátor (tj. zařízení skládající se z elektrického motoru a elektrického generátoru). Třída bude implementovat rozhraní cz.muni.fi.pb162.test1.ElectricDevice. a bude mít atribut motor typu ElectricMotor a generator typu ElectricGenerator. Třída bude mít konstruktor s dvěma parametry, obsahujícími motor a generátor a metodu getEfficiency(), která vrátí účinnost motorgenerátoru (ta se spočítá jako součin účinnosti generátoru a motoru). Dále bude mít metodu toString(), která bude vracet řetězec ve tvaru "[Motorgenerátor, účinnost = <efficiency>]".

Nakonec vytvořte třídu cz.muni.fi.pb162.test1.Main, která bude obsahovat statickou metodu main(String[]). Tato metoda vytvoří motor s účinností 0,5, generátor s účinností 0,6 a motorgenerátor skládající se z těchto dvou elektrických strojů. Potom na standardní výstup pomocí příslušných metod toString() vypíše informace o všech třech strojích.

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.