Seminář 3

Obsah semináře

OOP podruhé

Dnes nás čeká:

  1. Principy:
  1. Prvky jazyka:

Narazíme i na:

Polymorfismus

Zapouzdření

Rozhraní (interface)

Dále (bude jasnější příště):

Zdroje

Úkoly

  1. Implementujte rozhraní Countable s jedinou metodou int count() a rozhraní Measurable s jedinou metodou double length()
  2. Implementujte třídy pro následující data:
    • letopočet - den, měsíc, rok (úprava: nemusíte řešit platnost data)
    • konečná množina přirozených čísel - alespoň s možností přidávat a odebírat prvky (pozor na duplicity)
    • interval reálných čísel
    • úsečka v rovině
    • seznam přirozených čísel - alespoň s možností přidávat a odebírat prvky
  3. U každé třídy z bodu 2 popřemýšlejte, které z rozhraní z bodu 1 by mohla implementovat. Kde to dává smysl, rozhraní implementujte.
  4. Navrhněte a implementujte rozhraní pro obecnou kolekci čísel typu int. Tj. vymyslete, jaké vlastnosti a možnosti by měla mít každá kolekce “celých čísel” (např. množina, seznam, pole, strom, …).
  5. Navrhněte a implementujte třídu pro spojový seznam, která bude implementovat rozhraní z předchozího bodu.
  6. Výsledek odevzdejte emailem s předmětem jj1-03 na tomas.urbanec@upol.cz do 10.10.2023, 14:59 CEST. Odevzdávejte pouze zdrojové kódy, nikoliv celé projekty vygenerované IDE.