Explica este código TypeScript
Dificultad: Intermedio
¿Qué esta mal en el siguiente código?
abstract class Auto {
protected color: string;
private puertas: number;
constructor(color: string, puertas = 4) {
this.color = color;
this.puertas = puertas;
}
abstract logColor(): void;
}
class AutoElectrico extends Auto {
private carga: number;
constructor(color: string, carga: number, puertas = 4) {
super(color, puertas);
this.carga = carga;
}
}
- A.
No hay errores, todo funciona bien
- B.
AutoElectrico debe ser una clase abstracta
- C.
SintaxError, no existen los métodos abstractos en TypeScript
- D.
Tenemos que implementar de manera obligatoria el método logColor en la clase AutoElectrico
✅ D. Cuando creamos un método abstracto debemos asegurarlo si o si de implementarlo en las clases que hereden dicho método. Para solucionar eso podríamos añandir el método en cuestión a la clase correspondiente:Respuesta
Tenemos que implementar de manera obligatoria el método logColor en la clase AutoElectrico
class AutoElectrico extends Auto {
private carga: number;
constructor(color: string, carga: number, puertas = 4) {
super(color, puertas);
this.carga = carga;
}
// agregar esto soluciona el error
logColor(){
console.log("Soy un método abstracto...")
}
}
Top comments (0)