- W nowym projekcie wykonaj poniższe czynności:
- Stwórz klasę
Osoba
z polamiimie
inazwisko
. Następnie stwórz klasę potomnąStudent
z polamirokStududiów
,numerGrupy
,numerAlbumu
. Dodaj w obu klasach konstruktory domyślne i parametryczne (można wykorzystać kod z jednych z poprzednich ćwiczeń). - W obu klasach stwórz metody
WypiszInfo()
wyświetlające wszystkie pola z klasy na konsoli (mają to być tylko instrukcjeSystem.out.println()
z parametrami). - Wykonaj rzutowanie w górę (
Osoba student1 = new Student()
) i wywołaj dla tego obiektu metodęWypiszInfo()
. - Zmodyfikuj metodę
WypiszInfo()
w klasieStudent
używającsuper.WypiszInfo();
(o ile nie zrobiono tego wcześniej). Dodaj również atrybut@Override
- zastanów się czy to coś zmienia (lub w jakim kontekście zmieni). - Narysuj diagram klas UML projektu.
-
Zmodyfikuj kod z polecenia 1, by zamiast metody
WypiszInfo()
przesłonić metodętoString()
(zwróć uwagę na inny typ zwracany). -
Stwórz nowy projekt. A w nim wykonaj następujące czynności:
- Dodaj abstrakcyjną klasę
Figura
, a w niej polaa
,b
,c
(z modyfikatoremprotected
) i abstrakcyjną metodąObliczPole()
. - Stwórz dwie klasy potomne
Kwadrat
iTrojkat
dziedziczące z klasyFigura
. - Stwórz obiekty z klasy
Figura
,Kwadrat
,Trojkat
(w razie potrzeby stwórz konstruktory). Czy wszystko jest możliwe? - Dodaj w klasach
Kwadrat
iTrojkat
przesłoniętą metodęObliczPole()
i wywołaj ją dla stworzonych obiektów. - Stwórz listę obiektów z klas pochodnych do klasy
Figura
. Następnie za pomocą instrukcjiforeach
oblicz dla nich pola. - Narysuj diagram UML projektu.
- Odszukaj kod z ćwiczeń nr 4, gdzie należało stworzyć grę.
- stwórz klasę na przechowywanie drużyny bohaterów (domyślnie 10 osób), drużyny mogą przechowywać bohaterów różnych typów (pamiętaj o właściwym rzutowaniu).
- dodaj metodę kopiująca bohaterów korzystającą z interfejsu
Clonable
. - dodaj metodę na sortowanie bohaterów o żywotności lub liczbie punktów taktyki
- klasę rodzica np.
Bohater
przerób na klasę abstrakcyjną, ogranicz niepotrzebne dublowanie kodu, - przetestuj działanie na kilku drużynach.