Skip to content

Instantly share code, notes, and snippets.

@pjastr
Last active November 14, 2017 20:56
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/27f73f90f97c410ab428beaccc598119 to your computer and use it in GitHub Desktop.
Save pjastr/27f73f90f97c410ab428beaccc598119 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 Console.WriteLine() z parametrami).
  • Dodaj new, aby pozbyć się ostrzeżenia (warning) w Visual Studio. Czemu takie rozwiązanie nie jest najlepsze?
  • Wykonaj rzutowanie w górę (Osoba student1 = new Student()) i wywołaj dla tego obiektu metodę WypiszInfo().
  • Usuń new (dodane w trzecim podpunkcie). Następnie do metody WypiszInfo() w klasie Osoba dodaj virtual, a w klasie Student override. Jaka jest różnica?
  • Zmodyfikuj metodę WypiszInfo() w klasie Student używając base.WypiszInfo(); (o ile nie zrobiono tego wcześniej).
  • 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 IClonable.
  • 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