Cvičenie 3

Plán cvičenia

Cieľom cvičenia je pochopiť tieto pojmy z OOP:

  • modifikátory prístupu – detailnejšie,
  • dedenie,
  • polymorfizmus,

Modifikátory prístupu

Vyskúšajte si vlastnosti všetkých druhov modifikátora prístupu na konkrétnom príklade. Nasledujúca tabuľka zobrazuje viditeľnosť tried v závislosti na modifikátore prístupu. (Y = viditeľná, N = nie je viditeľná)

Modifikátor V triede V balíku Mimo balíka iba v zdedenej triede Mimo balíka
public Y Y Y Y
protected Y Y Y N
no modifier Y Y N N
private Y N N N

Prebraté z https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html a https://www.javatpoint.com/access-modifiers

Na odskúšanie všetkých typov modifikátora je potrebné vytvoriť 2 triedy a jednu testovaciu triedu. Pre jednoduchosť môžete použiť triedu Date a Date2 podľa vzoru nižšie. Umiestnenie Date, Date2 a testovacej triedy bude premenlivé. Vyskúšajte si všetky 4 kombinácie prístupu k atribútom (v triede, balíku, mimo balíka v zdedenej triede a mimo balíka) pre každý typ modifikátora (public, protected, no modifier, private). Modifikátor atribútu/ov meníte postupne od public k private. Podľa potreby umiestnite testovaciu triedu do rovnakého alebo rozdielneho balíka s triedou Date/Date2.

Dedičnosť

Upravte Úlohu 2 z minulého cvičenia nasledovne:

  • vytvorte abstraktnú triedu Component, ktorá bude mať atribúty name typu String a type typu Type, a abstraktnú metódu getPowerConsumption ktorá bude vracať celkový príkon daného komponentu,
  • upravte triedy reprezentujúce jednotlivé komponenty (Zdroj, CPU, RAM, HDD, základová doska) tak aby dedili od triedy Component,
  • základová doska má pevný počet slotov pre komponenty,
  • pri implementácii správne použite modifikátory prístupu a definujte vhodné konštruktory.