APORTE
No es necesario agregar el constructor a la clase Desarrollador para utilizar el constructor de la clase Persona, el constructor de la clase Persona también se hereda y puedes ejecutar sus atributos en la clase Desarrollador como si estuvieras en la clase Persona.
EJEMPLO:
class Persona{
constructor(nombre, apellido, estatura){
this.nombre = nombre;
this.apellido = apellido;
this.estatura = estatura;
}
saludar(){
console.log(`Hola mi nombre es ${this.nombre} ${this.apellido} y mi estatura es de ${this.estatura}m.`);
}
soyAlto(){
returnthis.estatura>1.8;
}
}
class Desarrollador extends Persona{
saludar(){
console.log(`Hola mi nombre es ${this.nombre} ${this.apellido}, mi estatura es de ${this.estatura}m y soy desarrollador.`);
}
}
var persona = new Persona('Enrique','Nieto',1.81); // Aquí soy persona
var desarrollador = new Desarrollador('Enrique','Nieto',1.81); // Aquí soy desarrollador
persona.saludar();
desarrollador.saludar();
Utilizaría el constructor en la clase Desarrollador solo para hacer algunas modificaciones o agregar atributos nuevos.
EJEMPLO:
class Persona{
constructor(nombre, apellido, estatura){
this.nombre = nombre;
this.apellido = apellido;
this.estatura = estatura;
}
saludar(){
console.log(`Hola me llamo ${this.nombre} ${this.apellido} y mi estatura es de ${this.estatura}`);
}
soyAlto(){
returnthis.estatura>1.8;
}
}
class Desarrollador extends Persona{
constructor(nombre, apellido, estatura, tiempo){
super(nombre,apellido,estatura);
this.nombre_desarrollador = nombre; // Atributo heredado nombre guardado en un atributo nuevo.
this.apellido_desarrollador = apellido; // Atributo heredado apellido guardado en un atributo nuevo.
this.estatura_desarrollador = estatura; // Atributo heredado estatura guardado en un atributo nuevo.
this.tiempo_de_desarrollador = tiempo; // Nuevo atributo
}
saludar(){
console.log(`Hola me llamo ${this.nombre_desarrollador} ${this.apellido_desarrollador}, mi estatura es de ${this.estatura_desarrollador}m, soy desarrollador y tengo ${this.tiempo_de_desarrollador} años de desarrollador`);
}
}
var persona = new Persona('Enrique','Nieto',1.81); // Aquí soy persona
var desarrollador = new Desarrollador('Enrique','Nieto',1.81,10);; // Aquí soy desarrollador
persona.saludar();
desarrollador.saludar();
Sorry por repetir tanto las palabras pero es para que se entienda más fácil y claro.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?