Öröklés egy központi fogalom az objektumorientált programozásban, amely lehetővé teszi, hogy meglévő osztályokat bővítsünk és azok tulajdonságait, valamint módszereit használjuk. JavaScript az ES6 bevezetésével egy újabb és robusztusabb öröklődési szintaxist vezetett be, amely sokkal könnyebben kezelhető, mint az eredeti prototípus-módszerek. Ebben az útmutatóban megmutatom, hogyan alkalmazhatod az öröklést JavaScriptben az extends kulcsszóval, és lépésről lépésre elmagyarázom, hogyan hívhatod meg a szülőosztály konstruktorát a super segítségével.
A legfontosabb megállapítások
- Az öröklés JavaScriptben az extends kulcsszó segítségével valósul meg.
- A szülőosztály konstruktora super-rel kell, hogy legyen meghívva.
- Az példányváltozók a származtatott osztályban a this kulcsszóval hivatkozhatók.
Lépésről lépésre útmutató
A szülőosztály létrehozása
Az öröklés megkezdéséhez először létrehozunk egy szülőosztályt Shape néven. Ebben az osztályban definiáljuk a konstruktort és néhány módszert.
Íme, definiálsz egy Shape osztályt, amelynek van egy konstruktora. Ezen a konstruktorn belül változókat és funkciókat definiálhatsz, amelyekhez más osztályok hozzáférhetnek.

A származtatott osztály felfedezése
A szülőosztály létrehozása után most létrehozhatsz egy származtatott osztályt, amely örökli a Shape-t. Ebben a példában az új osztályt ConcreteShape-nek nevezzük.
Ebben a származtatott osztályban használjuk az extends kulcsszót, hogy jelezzük, hogy a ConcreteShape örökli a Shape-t. A származtatott osztály konstruktora a super() segítségével hívja meg a szülőosztály Shape konstruktorát, ami szükséges az öröklés helyes megvalósításához.
A származtatott osztály példányosítása
Most, hogy létrehoztuk a származtatott osztályt, itt az ideje, hogy egy példányt hozzunk létre ebből az osztályból.
Itt létrehozol egy új objektumot myShape a ConcreteShape osztályból, és átadod a konstruktorának egy leírást. Ezután meghívod a print módszert, amely kiírja a leírást.
További tulajdonságok hozzáadása
További tulajdonságokat vagy akár, a származtatott osztályra specifikus módszereket is hozzáadhatsz a származtatott osztályhoz.
Itt a ConcreteShape osztályt bővítetted azzal, hogy további paramétereket adtál a konstruktorhoz.
Az öröklés használata
Az super kulcsszó segítségével meghívhatod a szülőosztály describe módszerét, hogy kombináld a szülőosztály és a származtatott osztály tulajdonságait.
Összefoglalás – Öröklés JavaScriptben: Az ES6-tól az ES13-ig
Ebben a tutorialban megtanultad, hogyan működik az öröklés JavaScriptben, különösen az új class szintaxissal. Láttad, hogyan definiálhatsz osztályokat, hogyan örökölhetsz egy szülőosztályt, és hogyan hívhatod meg helyesen a konstruktort. Ezek a mechanizmusok megkönnyítik számotokra, hogy a kódalapot tisztán és karbantarthatóan tartsátok, hatékonyan újrahasználva a funkciókat.
Gyakran ismételt kérdések
Mik a különbségek a super() és a this között?A super() a szülőosztály konstruktorának meghívására szolgál, míg a this az aktuális osztály példányára hivatkozik.
Miért jobb az ES6-osztályok használata a prototípusokkal szemben?Az ES6-osztályok világosabb és intuitívabb szintaxist kínálnak, amely megkönnyíti a kód olvasását és megértését.
Több szülőosztályom lehet?Nem, a JavaScript nem támogatja a többszörös öröklést. Egy osztály csak egy másik osztálytól örökölhet.
Mi történik, ha nem hívom meg a super()-t?Ha nem hívod meg a super()-t, hibát kapsz, mivel a szülőosztály konstruktora, amely inicializálja a szükséges dolgokat az osztály számára, nem fog lefutni.