Stáhněte si archiv se šablonami tříd pro 7. cvičení.
Třída Employee představuje zaměstance. Pro každého zaměstnance můžeme vypočítat
salary())
payout())
V první fázi uvažujeme dva typy zaměstnanců:
STANDARD_EMPLOYEE),
PT_EMPLOYEE)
Každý zaměstnanec na plný úvazek dostává pevnou částku 20000 Kč.
Částečný úvazek je ohodnocen 150 Kč/h.
Platby jsou prováděny pro oba typy zaměstnanců bankovním převodem (payout() vrací “bank transfer”).
salary() a payout(),
VOLUNTEER_EMPLOYEE). Je placen pevnou částkou 2000 Kč v hotovosti (payout() vrací “cash”),
phone(), která zjistí, zda má zaměstnanec dostat služební telefon (dostanou jej všichni na plný úvazek a zaměstnanci na částečný s platem > 10000 Kč).
public interface State { public void doAction(Context context); }
StartState implementující rozhraní State. Metoda doAction() vypisuje “Player is in start state” a kontextu nastavuje instanci StartState jako aktuální stav. Metoda toString() vypisuje “Start State”.
StopState implementující rozhraní State. Metoda doAction() vypisuje “Player is in stop state” a kontextu nastavuje instanci StopState jako aktuální stav. Metoda toString() vypisuje “Stop State”.
Context. Kontext bude uchovávat hodnotu typu State.
Player is in start state Start State Player is in stop state Stop State