Abstract
Cílem tohoto testu je ověřit znalosti principů a užití dědičnosti a rozhraní.
Table of Contents
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.