P3: Návrhové vzory (kamera vľavo)

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 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.