Tengo un pequeña duda existencial en la llamada a una función de una clase creadora desde una clase creada por ella.
Me explico.
Esquemáticamente, estoy utilizando dos clases:
Una clase que gestiona el sistema de monitoreo.
Código:
public Class Sistema { Detector det = new Detector(); // Otras cosas relacionadas a Sistema public iniciarDetector() { new Thread(det).start(); } public void activarAlarma() { // Procedimiento de activación de la alarma. } // Otras funciones del sistema }
Y otra clase encargada de la detección de los cambios de temperatura.
Código:
Se asume que la instancia de Sistema se crea en algún otro lugar de la aplicación, así como la llamada a la función iniciarDetector. Adicionalmente, la función activarAlarma no puede ser estática debido a que utiliza datos variables propios de la clase Sistema.public Class Detector extends Runnable{ int temp; boolean exit=true; public void run() { while(exit) { temp = detectarTemp(); if (temp>50) { // LLAMAR A FUNCION activarAlarma DE LA CLASE SISTEMA } } } public int detectarTemp() { // Detectar Temperatura } }
Pues bien, mi duda radica en la forma más adecuada para que, cuando el valor de temp de la clase Detector cambie (if (temp>50)), se informe a la clase Sistema sobre dicho cambio, llamando a la función activarAlarma.
¿Alguna sugerencia?
Gracias de antemano.