P7: Kvalitný objektovo-orientovaný návrh
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.
Zhrnutie prednášky
Prednáška sa venuje tomu, ako urobiť objektovo-orientovaný program kvalitnejším z pohľadu programátora, ktorý ho ďalej rozširuje. Na hre s rytiermi a obrami ukazuje, že riadok volania útoku ostáva platný aj po pridaní ďalších tried vďaka polymorfizmu a dedeniu, takže hru možno rozširovať novými triedami bez zmeny existujúcich. Zapuzdrenie vysvetľuje ako skrytie vnútornej reprezentácie (napr. energie) a vystavenie verejného rozhrania, o ktoré sa možno pri rozširovaní opierať, nie ako šifrovanie či ochranu údajov. Nakoniec rozoberá závislosti medzi triedami a vzor Visitor, ktorý umožňuje pridávať nové operácie (napr. druhy mečov) bez zmeny tried rytierov, pričom ide o kombináciu prekonávania metód a polymorfizmu.
- - Kvalita programu zahŕňa aj pohľad programátora, ktorý ho rozširuje a udržiava.
- - Polymorfizmus a dedenie umožňujú pridávať nové druhy bytostí ako nové triedy bez zmeny existujúcich.
- - Zapuzdrenie skrýva vnútornú reprezentáciu a vystavuje verejné rozhranie, o ktoré sa možno opierať pri rozširovaní.
- - Zapuzdrenie nie je šifrovanie ani utajovanie informácií, ale prostriedok proti kaskádovým zmenám kódu.
- - Vzor Visitor umožňuje pridávať operácie k objektom tried bez ich zmeny, čím kód ostáva otvorený pre rozšírenie.
- - Visitor stojí na dvoch krokoch polymorfizmu: výbere prekonanej metódy útoč a následnom výbere implementácie podľa typu meča.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky