P3: Návrhové vzory (kamera vľavo)
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 nadväzuje na predchádzajúcu tému rozhraní a postupne prechádza k návrhovým vzorom, pričom využíva rozpracovaný príklad hry s obrami a rytiermi. Vysvetľuje sa, prečo sú rozhrania užitočné napriek tomu, že samy osebe neobsahujú žiadnu funkcionalitu – ich hodnota spočíva v tom, že predstavujú stabilný predpis správania, voči ktorému možno písať klientský kód spoločný pre rôzne triedy objektov. Na príklade metódy na výpočet rozdielu energií medzi rytiermi a obrami sa demonštruje, ako rozhranie umožňuje uplatniť rovnaký kód na objekty rozdielnych tried. Diskutuje sa aj alternatíva použitia abstraktných tried namiesto rozhraní a vysvetľuje sa kľúčový dôvod ich odlíšenia v Jave – problém viacnásobného dedenia štruktúry a správania, ktorý rozhrania obchádzajú oddelením dedenia predpisu od dedenia implementácie. Zdôrazňuje sa, že objektovo orientované programovanie slúži predovšetkým na uľahčenie spolupráce medzi programátormi pri tvorbe rozsiahlych systémov.
- - Rozhranie je stabilný predpis, voči ktorému sa píše klientský kód, sám osebe neobsahuje funkcionalitu.
- - Príklad metódy zisti rozdiel energií demonštruje uplatnenie spoločného kódu na objekty rôznych tried (rytier, obor).
- - Alternatívou k rozhraniu je abstraktná trieda s abstraktnými metódami bez tela.
- - Java umožňuje iba jednonásobné dedenie tried (extends), preto vzniká problém pri viacnásobnom dedení implementácie.
- - Rozhrania oddeľujú dedenie štruktúry od dedenia predpisu správania, čím riešia problém viacnásobného dedenia.
- - Objekty rôznych tried môžu implementovať to isté rozhranie a byť tak zameniteľné z pohľadu klientského kódu.
- - Cieľom objektovo orientovaného programovania je najmä uľahčiť spoluprácu tímov pri vývoji rozsiahlych programov.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky