Metaprogramovanie - koronaprednáška 3
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 uvádza reflexiu ako najzákladnejšiu a dnes najpoužívanejšiu techniku metaprogramovania. Ide o schopnosť programu skúmať vlastnú štruktúru za behu, napríklad zistiť triedy, metódy, konštruktory a atribúty, podobne ako zrkadlo ukazuje človeku jeho vzhľad. Lektor vysvetľuje, že reflexia šetrí mechanickú prácu, ako je porovnávanie objektov atribút po atribúte alebo implementácia rozhraní. Umožňuje tiež pristupovať k privátnym členom, čo ilustruje príkladom z C# pri autentifikácii cez SSL certifikáty, a využíva sa pri zásuvných moduloch. V Pythone ukazuje všeobecnú implementáciu operátora __eq__ cez atribút __dict__, ktorá nevyžaduje úpravy pri zmene atribútov triedy.
- - Reflexia je schopnosť programu skúmať a analyzovať vlastnú štruktúru za behu.
- - Analógia: reflexia je pre program ako zrkadlo pre človeka.
- - Automatizuje mechanické úlohy, napríklad porovnanie objektov či implementáciu rozhraní.
- - Umožňuje prístup k privátnym atribútom a metódam, aj keď to porušuje princípy OOP.
- - Využíva sa pri zásuvných moduloch, ktoré sa načítajú a začlenia do bežiaceho programu.
- - Atribút __dict__ v Pythone obsahuje zoznam všetkých atribútov objektu.
- - Porovnanie objektov cez reflexiu nemusí byť udržiavané pri pridávaní, premenovaní či odstraňovaní atribútov.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky