P7: Kvalitný objektovo-orientovaný návrh (desktop)

Zdroj
ručne priradené
Pridané

Pozrieť na YouTube →

Preber si túto prednášku so svojou AI

Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.

Otvoriť AI: ChatGPT · Claude · Gemini

Zhrnutie prednášky

Prednáška je reflexiou nad doterajším učivom predmetu z hľadiska kvality objektovo-orientovaného návrhu, pričom na príklade hry s obrami a rytiermi ukazuje, ako polymorfizmus umožňuje rozširovať program pridávaním nových tried bez zmeny existujúceho kódu. Vysvetľuje zapúzdrenie a modifikátory prístupu (public, private, protected, package access) nielen ako obmedzenie modifikácie, ale najmä ako spôsob, ktorým autor kódu chráni klienta pred zmenami vnútornej reprezentácie a ponecháva si právo ju meniť. Na príklade vzoru Visitor, pomocou ktorého sa rozšírilo správanie rytiera pri boji mečom bez zmeny jeho triedy, ilustruje princíp otvorenosti pre rozšírenie a uzavretosti pre zmeny (open-closed principle). Na úvod sa spomínajú aj plány ďalších tém, najmä aspektovo orientovaného programovania.

  • - Polymorfizmus umožňuje flexibilné programovanie: útok funguje na akéhokoľvek obra a rytiera aj po pridaní nových odvodených tried.
  • - Program treba rozširovať modulárne pridávaním nových tried, nie úpravou existujúcich tried a metód.
  • - Zapúzdrenie (public, private, protected, package access) chráni klientsky kód pred zmenami vnútornej reprezentácie.
  • - Private prvky autorovi kódu zaručujú, že ich môže meniť bez dopadu na klientov, ktorí sa spoliehajú len na verejné rozhranie.
  • - Vzor Visitor umožňuje pridať nové operácie (napr. spôsoby oberania o energiu podľa meča) bez zmeny tried.
  • - Open-closed principle: otvorenosť pre rozšírenie a uzavretosť pre zmeny.
  • - Statické typovanie v Jave prináša kontrolu kompilátora, ktorá odhalí chyby ešte pred spustením programu.

Zhrnutie pripravené s pomocou AI z prepisu videa.