DEV Community

Cristian Fernando
Cristian Fernando

Posted on

1

Paracetamol.ts💊| #29: Explica este código TypeScript

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); 
Enter fullscreen mode Exit fullscreen mode
  • 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

Respuesta

✅ - C. En Auto: cambiar color de private a protected

Los modificadores de acceso en TypeScript son 3: public (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.

En este caso, AutoElectrico hereda de Auto, entonces para poder usar color desde AutoElectrico basta con escribir la propiedad como protected.


Puedes ver el último reto acá:

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more