⊗jsOpIhCn 33 of 60 menu

Constructor en la herencia de POO en JavaScript

En la herencia se pueden sobrescribir los constructores padre. Veamos un ejemplo. Supongamos que tenemos la siguiente clase padre:

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

Supongamos que de la clase padre hereda la siguiente clase:

class Student extends User { }

Supongamos que queremos en la clase hija ampliar el constructor, añadiéndole parámetros adicionales:

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

En este caso necesitamos obligatoriamente llamar en la primera línea al constructor padre mediante super:

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

El comando super en esencia es el constructor padre. Por lo tanto, pasémosle los parámetros requeridos:

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

Ahora en el hijo el año de estudio lo grabamos en su propia propiedad del hijo:

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

Hagamos un getter para el año de estudio:

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

Supongamos que la clase Employee hereda de la clase User de esta lección.

Sobrescriba en la clase Employee el constructor padre, añadiéndole parámetros de edad y salario.

Haga getters para la edad y el salario.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar