P7: Kvalitný objektovo-orientovaný návrh

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 sa zameriava na kvalitný objektovo-orientovaný návrh a reflektuje princípy, ktoré vyplynuli z predchádzajúceho príkladu s hrou obrov a rytierov. Vysvetľuje sa, ako polymorfizmus umožňuje rozširovať program pridávaním nových odvodených tried bez zásahu do existujúceho kódu, čo je kľúčovou výhodou objektovo-orientovaného prístupu. Ďalej sa rozoberá zmysel zapuzdrenia (modifikátory private, public, protected, package access) — nejde o bezpečnosť v zmysle šifrovania, ale o ochranu klientskeho kódu pred neželanou závislosťou na vnútornej reprezentácii triedy. Zdôrazňuje sa, že zapuzdrenie chráni pred zmenami internej implementácie a zároveň definuje, cez ktoré rozhrania sa má program rozširovať. V súvislosti s odovzdávaním semestrálneho projektu sa pripomína požiadavka na oddelenie aplikačnej logiky od používateľského rozhrania a nutnosť uplatniť polymorfizmus.

  • - Polymorfizmus umožňuje rozširovať program pridávaním nových odvodených tried bez zmeny existujúceho kódu.
  • - Modul v OOP je trieda — cieľom je vyhýbať sa zásahom do cudzích tried a metód.
  • - Zapuzdrenie (private/public/protected/package access) nechráni pred čítaním kódu, ale pred vznikom neželaných závislostí na internej reprezentácii.
  • - Zmena vnútornej reprezentácie triedy bez zapuzdrenia by mohla pokaziť kód všetkých klientov, ktorí sa naň spoliehali.
  • - Verejné metódy (napr. gettery/settery, preťažené metódy) umožňujú kontrolovaný prístup a rozširovanie bez rizika pre klientov.
  • - Zapuzdrenie určuje, ktoré prvky triedy sú otvorené na rozšírenie a ktoré sú chránené pred zásahom zvonka.
  • - Pri odovzdávaní projektu sa vyžaduje oddelenie aplikačnej logiky od používateľského rozhrania a uplatnenie polymorfizmu (prekonávanie metód), inak hrozí strata až polovice bodov.

Zhrnutie pripravené s pomocou AI z prepisu videa.