Explica este código TypeScript
Dificultad: Intermedio
¿Cuál es la manera de arreglar este código?
class Auto {
private color: string;
private puertas: number;
constructor(color: string, puertas = 4) {
this.color = color;
this.puertas = puertas;
}
}
class AutoElectrico extends Auto {
private carga: number;
constructor(color: string, carga: number, puertas = 4) {
super(color, puertas);
this.carga = carga;
}
get getColor() {
return this.color; //❌ Property 'color' is private and only accessible within class 'Auto'
}
}
const car = new AutoElectrico("rojo", 5000);
console.log(car.getColor);
- A.
En Auto: cambiar color y puertas de private a public - B.
En AutoElectrico: eliminar la sentencia super() - C.
En Auto: cambiar color de private a protected - D.
En AutoElectrico: cambiar extends por implements - E.
Ninguna de las anteriores
✅ - C. Los modificadores de acceso en TypeScript son 3: En este caso, Respuesta
En Auto: cambiar color de private a protectedpublic (por defecto), private y protected.
public significa que cualquier propiedad o método puede ser accedido fuera de la clase que lo contiene.private significa que la propiedad o método solo puede ser accedido desde la clase que lo contiene.protected: significa que la propiedad o método puede ser accedido desde la clase que lo contiene pero también desde las clases que lo hereden.AutoElectrico hereda de Auto, entonces para poder usar color desde AutoElectrico basta con escribir la propiedad como protected.
Puedes ver el último reto acá:
Top comments (0)