Hola a todos.
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:
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
}
}
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.
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.