Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗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