⊗jsOpIhCn 33 of 60 menu

Constructeur lors de l'héritage en POO en JavaScript

Lors de l'héritage, il est possible de redéfinir le constructeur du parent. Regardons un exemple. Supposons que nous ayons la classe parente suivante :

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

Supposons que la classe suivante hérite de la classe parente :

class Student extends User { }

Supposons que nous voulions dans la classe enfant étendre le constructeur, en y ajoutant des paramètres supplémentaires :

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

Dans ce cas, nous devons impérativement appeler en première ligne le constructeur du parent via super :

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

La commande super est essentiellement le constructeur du parent. Par conséquent, passons-lui les paramètres requis :

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

Maintenant, dans l'enfant, l'année d'étude sera enregistrée dans sa propre propriété de l'enfant :

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

Créons un getter pour l'année d'étude :

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

Supposons que la classe Employee hérite de la classe User de cette leçon.

Redéfinissez dans la classe Employee le constructeur parent, en y ajoutant un paramètre pour l'âge et le salaire.

Créez des getters pour l'âge et le salaire.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser