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