⊗jsOpIhCn 33 of 60 menu

Konstruktor pri nasleđivanju u OOP-u u JavaScript-u

Pri nasleđivanju je moguće redefinisati konstruktor roditelja. Pogledajmo to na primeru. Neka imamo sledeću klasu roditelja:

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

Neka od roditeljske klase nasleđuje sledeća klasa:

class Student extends User { }

Pretpostavimo da u klasi-potomku želimo da proširimo konstruktor, dodajući mu dodatne parametre:

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

U ovom slučaju, obavezno nam je prvom linijom pozvati konstruktor roditelja putem super:

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

Komanda super je u suštini konstruktor roditelja. Stoga, prosledimo mu tražene parametre:

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

Sada u potomku upisaćemo godinu studija u sopstveno svojstvo potomka:

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

Napravićemo geter za godinu studija:

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

Neka klasa Employee nasleđuje od klase User iz ove lekcije.

Redefinišite u klasi Employee konstruktor roditelja, dodajući u njega parametre za godine i platu.

Napravite getere za godine i platu.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij