OOP JS Flashcards

1
Q

Mi az az OOP?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Mi az OOP 3 alapkoncepciója?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Mik azok a gyártó függvények?

A

Azokat a függvényeket, amelyek objektumokat adnak vissza, gyártó függvényeknek nevezzük.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Mi az absztrakció?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Mi az a konstruktor függvény? (Constructor Function)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Mire mutat a konstruktor függvények this-e?

A

A this a konstruktorként meghívott függvényekben a konstruktor által létrehozott objektumpéldányra mutat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Mi az öröklődés (inheritance) az OOP-ben?

A

Az a mechanizmus, amellyel objektumokat hozhatunk létre más objektumok alapján, megörökölve azok tulajdonságait és metódusait.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hogyan örökölnek az objektumok JavaScriptben és ezt, hogyan nevezzük?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Hogyan működik a prototípus-lánc?

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hogyan kell használni a prototípusos öröklődést?

A
  1. Hívjuk meg a szülő konstruktort, és adjuk át a közös paramétereket
  2. Másoljuk át a szülő prototípusát a gyermek prototípusára
  3. Állítsuk vissza a konstruktort a gyermek konstruktorára
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Mi történik JS class-oknál a háttérben?

A

A létrehozott objektumok prototípusai más objektumok prototípusaira mutatnak majd.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Class szintaxis:

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Hogyan néz ki egy class öröklődés?

A
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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Mire mutat a this a class-okban?

A

A this class-metódusként meghívott függvényekben az objektumpéldányra mutat, amit létrehozott a class.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly