⊗jsOpIhCn 33 of 60 menu

Konstruktor przy dziedziczeniu w OOP w JavaScript

Przy dziedziczeniu można nadpisywać konstruktor rodzica. Spójrzmy na przykładzie. Załóżmy, że mamy następującą klasę rodzica:

class User { constructor(name, surn) { this.name = name; this.surn = surn; } getName() { return this.name; } getSurn() { return this.surn; } }

Załóżmy, że od klasy rodzicielskiej dziedziczy następująca klasa:

class Student extends User { }

Załóżmy, że chcemy w klasie-potomku rozszerzyć konstruktor, dodając do niego dodatkowe parametry:

class Student extends User { constructor(name, surn, year) { } }

W tym przypadku musimy koniecznie w pierwszej linii wywołać konstruktor rodzica za pomocą super:

class Student extends User { constructor(name, surn, year) { super(); } }

Polecenie super w istocie jest konstruktorem rodzica. Dlatego przekażmy do niego wymagane parametry:

class Student extends User { constructor(name, surn, year) { super(name, surn); } }

Teraz w potomku rok nauki zapiszmy we własnej właściwości potomka:

class Student extends User { constructor(name, surn, year) { super(name, surn); this.year = year; } }

Zróbmy getter dla roku nauki:

class Student extends User { constructor(name, surn, year) { super(name, surn); this.year = year; } getYear() { return this.year; } }

Załóżmy, że klasa Employee dziedziczy po klasie User z tej lekcji.

Nadpisz w klasie Employee konstruktor rodzica, dodając do niego parametr z wiekiem i wynagrodzeniem.

Zrób gettery dla wieku i wynagrodzenia.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć