Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

100
Vistas
¿Cómo estructuraría una clase para un control remoto universal que envía un comando de encendido/apagado a varios dispositivos conectados a él?

Quiero crear una clase remota universal a la que se conecten varios dispositivos. Sé que no se extenderán desde el control remoto, pero no estoy seguro de cómo enviaría un comando de encendido/apagado a todos ellos.

Estaba pensando como:

 const tv = new TV() tv.isOn // gives false const light = new Light() light.isOn // gives false const xbox = new Xbox() xbox.isOn // gives false const remote = new Remote() remote.on() tv.isOn // gives true light.isOn // gives true xbox.isOn // gives true

Entonces, ahora, si verifica como el objeto de TV para ver si estaba encendido, sería o las luces, etc.

En mi cabeza

 class TV extends Remote

suena tonto pero no puedo pensar en una forma en la que simplemente llamar a la clase remota cambiaría todos los demás objetos. Soy bastante nuevo en la codificación, por lo que agradecería cualquier ayuda.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Extender el control remoto no lo ayudará, ya que aún tendrá diferentes instancias (extender una clase solo proporcionará los métodos de esa clase, pero no compartirá el estado con otras instancias).

Una solución para su problema sería hacer que la función on ( toggle sería un mejor nombre para alternar entre encendido y apagado ) acepte una lista de dependencias que se actualizarían ( todavía necesita saber las instancias de los dispositivos que desea activar/desactivar ya que necesita pasarlos a esa función ).

La función de alternar puede simplemente negar el valor anterior this.isOn = !this.isOn dependiendo de sus necesidades (ahora mismo usted controla si todos ellos están activados/desactivados, al pasar el valor boolean , todos estarán sincronizados todo el tiempo -- excepto cuando se instancian con diferentes estados).

 class Device { constructor(state = false) { this.isOn = state; } toggleState(state) { this.isOn = state; } } class TV extends Device {} class Xbox extends Device {} class Light extends Device {} class Remote { toggle(state, devices = []) { devices.forEach(device => { device.toggleState(state); }) } } const tv = new TV(); const xbox = new Xbox(); const light = new Light(); const remote = new Remote(); console.log(tv.isOn); console.log(xbox.isOn); console.log(light.isOn); remote.toggle(true, [ tv, xbox, light ]); console.log(tv.isOn); console.log(xbox.isOn); console.log(light.isOn);

¿Es esto lo que estás buscando?

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda