⊗jsOpIhCn 33 of 60 menu

Конструктор при наслеђивању у ООП-у у JavaScript-у

При наслеђивању можемо преопределити конструктор родитеља. Погледајмо на примеру. Претпоставимо да имамо следећу класу родитеља:

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

Претпоставимо да од родитељске класе наслеђује следећа класа:

class Student extends User { }

Претпоставимо да желимо у класи-потомку проширити конструктор, додавши у њега додатне параметре:

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

У том случају морамо нужно у првом реду позвати конструктор родитеља преко super:

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

Команда super у суштини јесте конструктор родитеља. Зато проследимо у њега тражене параметре:

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

Сада у потомку годину студија упишимо у своје својство потомка:

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

Направимо гетер за годину студија:

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

Претпоставимо да класа Employee наслеђује од класе User из овог часа.

Преопределите у класи Employee конструктор родитеља, додавши у њега параметар са годинама и платом.

Направите гетере за године и плату.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј