⊗jsOpIhCOM 32 of 60 menu

Llamada a un método sobrescrito en POO en JavaScript

Al sobrescribir, la clase hija pierde acceso al método sobrescrito del padre. Sin embargo, es posible obtener acceso al mismo. Esto se hace usando la palabra clave super, que hace referencia a la clase padre.

Veamos un ejemplo en el que podríamos necesitar acceso al método de la clase padre. Supongamos que tenemos la siguiente clase padre:

class User { setName(name) { this.name = name; } getName() { return this.name; } }

Supongamos que en la clase hija sobrescribimos el método del padre:

class Student extends User { setName(name) { if (name.length > 0) { this.name = name; } else { throw new Error('student name error'); } } }

Se puede observar que en el método sobrescrito, cuando se cumple la condición, esencialmente se ejecuta el código del método padre. Resulta en una duplicación innecesaria de código.

Podemos eliminarla si llamamos al método del padre. Hagámoslo:

class Student extends User { setName(name) { if (name.length > 0) { super.setName(name); // método del padre } else { throw new Error('student name error'); } } }

Se da el siguiente código:

class User { setAge(age) { if (age >= 0) { this.age = age; } else { throw new Error('need age more 0'); } } } class Employee { setAge(age) { if (age <= 120) { if (age >= 0) { this.age = age; } else { throw new Error('need age more 0'); } } else { throw new Error('need age less 120'); } } }

En la clase Employee, corrija simplifique el *setter* de la edad, utilizando el método original del padre.

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