Všeobecné informácie

Cieľom predmetu je poskytnúť študentom základy objektovo-orientovaného návrhu a programovania v objektovo-orientovaných jazykoch. Po úspešnom absolvovaní tohto predmetu študenti môžu získané znalosti využiť pri návrhu a implementácii softvérových systémov použitím objektovo-orientovaných programovacích jazykov a návrhových vzorov.

Prednášky

TýždeňPopisOdkazy/poznámky
1.Úvod do objektového programovania, Triedy, Objekty, Členské premenné stiahnuť PDF
2.Metódy a Konštruktory, Preťažovanie metód, Statické metódy a premenné stiahnuť PDF
3.Dedičnosť, Polymorfizmus, Zapúzdrenie, Abstraktné triedy a metódy stiahnuť PDF
4.Rozhrania, Finálne triedy, metódy a premenné, Ošetrenie výnimiek I stiahnuť PDF
5.Ošetrenie výnimiek II, Kolekcie I stiahnuť PDF
6.Kolekcie II, Generické typy, Atomické hodnoty ako objekty stiahnuť PDF
7.Návrhové vzory I stiahnuť PDF
8.Návrhové vzory II stiahnuť PDF
9.Návrhové vzory III stiahnuť PDF
10.Príklady návrhov I stiahnuť PDF
11.Príklady návrhov II
12.
13.

Cvičenia

TýždeňPopisOdkazy/poznámky
1.Úvod do prostredia IntelliJ IDEA
2.Štruktúrované programovanie v Jave, Triedy, Objekty a Členské premenné riešenia
3.Vytváranie hierarchie tried, Zapúzdrenie členských premenných a Predefinovanie metód v podtriedach riešenia
4.Kontrolný test 1, 10 bodov
5.Rozhrania, Finálne triedy, metódy a premenné, Ošetrenie výnimiek riešenia
6.Ošetrenie výnimiek, Práca s kolekciami riešenia
7.Generické typy riešenia
8.Návrhové vzory I riešenia
9.Kontrolný test 2, 10 bodov
10.Návrhové vzory II riešenia
11.-12.Práca na zadaní, 20 bodov
13.Zápočtový týždeň, opravné testy

Zadanie

Zadanie musí obsahovať nasledujúce časti (hodnotenie je v zátvorke)

  1. UML diagramy tried popisujúce všetky triedy a rozhrania. Diagramy musia obsahovať relácia medzi entitami a ich kardinalitu (5)
  2. Triedy a rozhrania (5)
    1. Triedy musia mať vhodne zapuzdrené premenné a prístupové metódy pre jednotlivé dátové atribúty
    2. Dedičnosť a aspoň jedna abstraktná trieda
    3. Vybrané triedy musia mať vhodne definované metódy equals, hashCode, alebo rozhranie Comparable
    4. Pre relácie s viacerými objektami použite vhodné kolekcie
    5. Jedna trieda s metódou main ktorá demonštruje vybranú interakciu používateľa so systémom
  3. Súčasťou musí byť aj definícia výnimiek (návrh typov, vyvolanie a ošetrenie) (2)
  4. Riešenie musí vhodne implementovať 2 vzory pre vytváranie objektov a 2 štrukturálne vzory (8)

Podklady a užitočné zdroje