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 po krátkom rozbore testu a poznámkach k cvičeniam a projektu vracia k príkladu hry s rytiermi a obrami a vysvetľuje reflexiu v Jave. Metóda na spočítanie bojovníkov prijíma objekt triedy Class ako metamodel opisujúci triedu bytosti a pomocou metódy isInstance kontroluje, či objekty v zoznamoch zodpovedajú danému typu. Trieda Object je nadtyp všetkých typov, pretypovanie môže zlyhať výnimkou a parameter s lomenými zátvorkami zabezpečuje typovú kontrolu už pri kompilácii. Pri počítaní statočných rytierov aj rytierov vo všeobecnosti sa prejavuje polymorfizmus, keďže statočný rytier je tiež rytier. Presné počítanie podľa názvu triedy by si vyžadovalo porovnávať názov získaný z objektu triedy.
- - Serializáciu je vhodné využiť v projekte na opakované použitie vytvorených objektov.
- - Trieda Object je nadtyp všetkých typov; pretypovanie môže zlyhať výnimkou.
- - Objekt triedy Class je metamodel, ktorý opisuje triedu (názov, atribúty, metódy).
- - Metóda isInstance zisťuje, či je objekt daného typu, analogicky k operátoru instanceof.
- - Polymorfizmus spôsobí, že počet rytierov zahŕňa aj statočných rytierov.
- - Striktné počítanie vyžaduje porovnávať názov triedy namiesto typovej zhody.
- - Metamodel opisuje model, podobne ako gramatika opisuje jazyk.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky