Skip to content

Instantly share code, notes, and snippets.

@pjastr
Last active November 21, 2017 19:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pjastr/d163cd105683e9dbc19d89f06e9a5020 to your computer and use it in GitHub Desktop.
Save pjastr/d163cd105683e9dbc19d89f06e9a5020 to your computer and use it in GitHub Desktop.
  1. W nowym projekcie wykonaj poniższe czynności:
  • Stwórz klasę Osoba z polami imie i nazwisko. Następnie stwórz klasę potomną Student z polami rokStududió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 instrukcje System.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 klasie Student używając super.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.
  1. Zmodyfikuj kod z polecenia 1, by zamiast metody WypiszInfo() przesłonić metodę toString() (zwróć uwagę na inny typ zwracany).

  2. Stwórz nowy projekt. A w nim wykonaj następujące czynności:

  • Dodaj abstrakcyjną klasę Figura, a w niej pola a,b,c (z modyfikatorem protected) i abstrakcyjną metodą ObliczPole().
  • Stwórz dwie klasy potomne Kwadrat i Trojkat dziedziczące z klasy Figura.
  • Stwórz obiekty z klasy Figura, Kwadrat, Trojkat (w razie potrzeby stwórz konstruktory). Czy wszystko jest możliwe?
  • Dodaj w klasach Kwadrat i Trojkat 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ą instrukcji foreach oblicz dla nich pola.
  • Narysuj diagram UML projektu.
  1. 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment