Java

Páginas: 2 (472 palabras) Publicado: 3 de marzo de 2014
Dependencias

Interface
java.util.Observer

• Mecanismo que permite alertar a unos
objetos del comportamiento de otro

• Debe implementarla cualquier clase que
desee ser observadora

–Usado en MCV
– Cuando un objeto se modifica, puede avisar a
otros objetos para que actúen en consecuencia

public interface Observer {
public void update(Observable,Object)
}

• Observable:objeto cuyo comportamiento
queremos observar
• Observador: objeto que está pendiente del
comportamiento de un observable
1

3

Clase
java.util.Observable

Comportamiento del
modelo dedependencias

• Superclase de cualquier clase que desee ser
observada
• Metodos de instancia

• Un objeto observable informa que ha
cambiado con

void
void
void
void
void
void

voidsetChanged()

• avisa a los observadores con uno de entre

addObserver(Observer)
deleteObserver(Observer)
deleteObservers()
setChanged()
notifyObservers()
notifyObservers(Object)

voidnotifyObservers()
void notifyObservers(Object)

• y los observadores reciben
void update(Observable,Object)

2

4

1

Ejemplo. Pedal y aguja
cuentarevoluciones

p

Ejemplo. El observable
Pedal deacelerador

1000p1/2

5

Ejemplo. El observador
Aguja cuentarevoluciones

public class Pedal extends Observable {
public Pedal() {
fuerza = 0;
}
public void acelera(int x) {
fuerza += x;setChanged();
notifyObservers();
}
public void desacelera(int x) {
fuerza -= x;
setChanged();
notifyObservers(new Integer(fuerza));
}
public int pedal() {
return fuerza;
}
}

7Ejemplo. Todo junto

import java.util.*;
public class AgujaRev implements Observer {
private int rev;
public AgujaRev() {
rev = 0;
}
public int revoluciones() {
return rev;
}
public voidupdate(Observable ob, Object o) {
if (ob!=null)
rev = (int)(1000*Math.sqrt(((Pedal)ob).pedal()));
}
}
6

public class PrPedal {
public static void main(String[] args) {
Pedal p = new Pedal();...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Java
  • Java
  • java
  • JAVA
  • java
  • java
  • javiera
  • Java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS