⊗jsOpIhCn 33 of 60 menu

Konstruktor pärimisel OOP-s JavaScriptis

Pärimisel on võimalik üle defineerida vanema konstruktorit. Vaatame seda näite abil. Olgu meil järgmine vanema klass:

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

Olgu vanemaklassist pärib järgmine klass:

class Student extends User { }

Oletame, et me tahame järglasklassis laiendada konstruktorit, lisades sellesse täiendavaid parameetreid:

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

Sellisel juhul peime tingimata esimesel real kutsuma välja vanema konstruktori läbi super:

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

Käsk super on olemuselt vanema konstruktor. Seetõttu edastame sellele nõutud parameetrid:

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

Nüüd kirjutame järglases õppeaasta järglase enda omadusse:

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

Teeme getteri õppeaasta jaoks:

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

Olgu klass Employee pärib klassist User sellest õppetükist.

Defineeri üle klassis Employee vanema konstruktor, lisades sellesse parameetri vanuse ja palgaga.

Tege getterid vanuse ja palga jaoks.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu