OOP JS Flashcards
Mi az az OOP?
Az objektumorientált programozás – röviden OOP – egy programozási paradigma, amely a programokat objektumokba rendezi, modellezve a dolgokat, amelyekkel épp dolgozunk. Az objektumok struktúrák, amelyek tulajdonságokból és metódusokból állnak.
Mi az OOP 3 alapkoncepciója?
1, Enkapszuláció: az összetartozó adatokat és függvényeket egy egységbe, ebben az esetben egy objektumba kell csomagoljuk.
2, Absztrakció: csak azokat az adatokat és függvényeket válogassuk ki, amelyekre a programunkhoz szükség van, és a többit „elabsztraháljuk”.
3, Öröklődés: a közös adatokat és függvényeket újrafelhasználható szülő objektumokba kell gyűjtsük, míg az egyedi részeket kiszervezzük gyermek objektumokba.
Mik azok a gyártó függvények?
Azokat a függvényeket, amelyek objektumokat adnak vissza, gyártó függvényeknek nevezzük.
Mi az absztrakció?
Az absztrakció az OOP-ben egy koncepció, amely szerint egy bonyolult dolog egyszerű modelljét hozzuk létre, amiben csak a konkrét program céljaihoz fontos aspektusokra koncentrálunk.
Mi az a konstruktor függvény? (Constructor Function)
Függvények, amelyeket a new kulcsszóval hívunk meg.
A new kulcsszóval meghívva bármelyik egyszerű függvény konstruktor függvénnyé válik, és automatikusan visszaad egy új objektumpéldányt.
Mire mutat a konstruktor függvények this-e?
A this a konstruktorként meghívott függvényekben a konstruktor által létrehozott objektumpéldányra mutat.
Mi az öröklődés (inheritance) az OOP-ben?
Az a mechanizmus, amellyel objektumokat hozhatunk létre más objektumok alapján, megörökölve azok tulajdonságait és metódusait.
Hogyan örökölnek az objektumok JavaScriptben és ezt, hogyan nevezzük?
A JavaScriptben az objektumok a prototípusukon keresztül örökölnek más objektumoktól. A JavaScript öröklődési modelljét prototípusos öröklődésnek (prototypal inheritance) nevezik.
Hogyan működik a prototípus-lánc?
- Ha az objektumpéldány bír az adott tulajdonsággal, akkor azt használjuk.
- Ha az objektumpéldány nem bír a tulajdonsággal, továbbmegyünk a prototípusára. Ha az objektum prototípusán megvan a tulajdonság, azt használjuk.
- Ha az objektum prototípusa sem bír a tulajdonsággal, akkor továbbmegyünk a prototípus prototípusára. Ha az objektum prototípusának prototípusa bír a tulajdonsággal, akkor azt használjuk.
Addig megyünk felfelé a prototípus-láncon, amíg megtaláljuk a tulajdonságunkat, vagy kifutunk a prototípusokból.
Hogyan kell használni a prototípusos öröklődést?
- Hívjuk meg a szülő konstruktort, és adjuk át a közös paramétereket
- Másoljuk át a szülő prototípusát a gyermek prototípusára
- Állítsuk vissza a konstruktort a gyermek konstruktorára
Mi történik JS class-oknál a háttérben?
A létrehozott objektumok prototípusai más objektumok prototípusaira mutatnak majd.
Class szintaxis:
A class kulcsszóval kezdünk, aztán jön egy constructor-nak nevezett metódus. Ezután, még mindig a class kulcsszóval kezdett kapcsos zárójeleken belül kilistázhatjuk az összes többi metódust is, a function kulcsszó nélkül.
Hogyan néz ki egy class öröklődés?
Két egyszerű lépés kell az öröklődés felállításához: 1, Használjuk az extends kulcsszót a class-szal, amitől örökölni szeretnénk; 2, hívjuk meg a super()-t – a superclass konstruktort (vagy más néven a szülő konstruktort) a számára szükséges közös paraméterekkel.
Mire mutat a this a class-okban?
A this class-metódusként meghívott függvényekben az objektumpéldányra mutat, amit létrehozott a class.