Napisz klasę Zegar
reprezentującą pewną wartość czasu. Zegar powinien udostępniać metodę tick,
przesuwającą go o minutę do przodu. W konstruktorze podajemy początkową
wartość zegara.
Działanie Zegara możesz przetestować na poniższym programie
(Java):
Zegar z =
new Zegar(7, 30);
for (int i = 0; i < 1500; ++i)
{
z.tick();
System.out.println(z);
}
Następnie napisz cztery klasy dziedziczące z klasy Zegar:
ZegarDoTyłu - zegar chodzący
do tyłu (metoda tick przesuwa czas o minutę do
tyłu).,
ZegarSzybki - dwa razy
szybszy od normalnego (jedno wywołanie tick
przesuwa zegar o dwie minuty do przodu),
ZegarWolny - dwa razy
wolniejszy od normalnego (jedno wywołanie tick
przesuwa zegar o pół minuty do przodu),
ZegarAlarm
- zegar z alarmem (w konstruktorze podajemy godzinę i minutę, kiedy ma
się uruchomić alarm - w chwili gdy zegar osiągnie ten czas,
metoda toString zwróci stosowny
komunikat).
Uwagi:
Składnia dziedziczenia (Java):
class ZegarDoTyłu extends
Zegar
Konstruktory nie są dziedziczone - klasa potomna musi
deklarować własne.
W konstruktorze klasy potomnej zawsze uruchamia się
najpierw konstruktor klasy bazowej.
Wykorzystanie słowa super (Java):
wywołanie konstruktora klasy bazowej (tylko w
konstruktorze)
super(...);
wywołanie metody z klasy bazowej (w dowolnej metodzie)