1/20
Flashcards pro opakování a přípravu na zkoušku z témat souvisejících s objektově orientovaným programováním a jazyky jako C, Python, a další.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Co obsahuje zpráva v třídním OOJ?
Zpráva se skládá z: selektor, odkaz na příjemce, argumenty/parametry.
Jak se řeší problém vícenásobné třídní dědičnosti?
Když existují kolize metod stejného jména, řešení zahrnuje: zákaz, skrytí, prvního nalezeného výskytu, povinnou redefinici nebo plnou kvalifikaci.
Jaký je rozdíl mezi deklarací a definicí?
Deklarace vymezuje atributy entity bez alokace paměti, zatímco definice zahrnuje alokaci paměti a tělo funkce.
Co je veřejný protokol v objektově orientovaném programování?
Veřejný protokol umožňuje objektu přijímat zprávy, což zahrnuje invokaci metod a zpracování chyb, jako je výjimka DoesNotUnderstand.
Jak vypadá výpočet adresy prvku pole?
Adresa a[x] = base + (x - start) × velikost_t.
Jaký je význam parametru self v instanční a třídní metodě?
V instanční metodě self odkazuje na instanci třídy, v třídní metodě self odkazuje na třídu, nikoliv na instanci.
Jaké sloty má aktivační objekt v SELF?
Aktivační objekt má sloty pro self (implicitní), argumenty/parametry a lokální proměnné.
Jaké jsou nevýhody garbage collectoru?
Nedeterminismus, prostorová a časová režie.
Co je syntaktická chyba v Pythonu?
Nesprávné odsazení, které porušuje pravidla syntaxe Pythonu.
Jaké vlastnosti má proměnná v PHP?
Jméno, adresa, typ, hodnota, doba života, rozsah platnosti.
Jak se provádí explicitní rušení instance v C++?
Programátor volá delete, což invokuje destruktor a uvolní paměť.
Jaký je princip dědičnosti v OOP?
Dědičnost umožňuje dělení a znovupoužití metod a atributů mezi třídami.
Co je polymorfismus?
Polymorfismus je schopnost různých objektů reagovat na stejnou zprávu odlišně.
Co znamená 'self' v kontextu OOP?
Self je odkaz na aktuální instanci nebo třídu a je dostupný v metodách.
Jaké jsou základní atributy třídy v Pythonu?
Třídní atributy zahrnují proměnné a metody, které jsou sdílené mezi všemi instancemi třídy.
Jak se provádí přetížení metod?
Vytvořením více metod se stejným názvem, ale různými parametry.
Jaký je rozdíl mezi statickou a instanční metodou?
Statická metoda nemá parametr self a nepracuje s instancemi; instanční metoda je vázaná na konkrétní instanci.
Co je diamantový problém v kontextu vícenásobné dědičnosti?
Je to problém nejednoznačnosti při dědění metod z více nadtříd.
Jakým způsobem lze v Pythonu definovat interface?
Interface se definuje jako rozhraní s deklarací metod, které musí třída implementovat.
Jaké odesílání zprávy se provádí při delegaci?
Objekt přepošle zprávu rodičovskému objektu, pokud nemá potřebný slot.
Jak se vyhodnocuje index pole za běhu v C?
Kontrola indexu probíhá pouze za běhu a nemůže být zajištěna při překladu.