Observer/Observable

publicité
Observer/Observable
Observer/Observable
•Définition
•Fonctionnement
•Exemple
Observer/Observable
•Introduction
–Le modèle événementiel est utilisé lorsque les
événements sont produits par l’utilisateur d’un
programme.
–Il se peut qu’une classe ait besoin de savoir s’il y a eu
une modification du contenu d’un objet en mémoire.
Observer/Observable
•Introduction
•On peut mettre une classe qui observe
(java.util.Observer) une autre classe
(java.util.Observable).
–La classe observable doit aviser tous ses observateurs
lorsqu’une modification survient à ses attributs.
Observer/Observable
•Fonctionnement
–La classe qui doit aviser de ses modifications hérite de la
classe Observable
–Les classes qui doivent être avisés implémentent
l’interface Observer et redéfinissent la méthode suivante:
public void update(Observable arg0, Object arg1)
Référence vers l’observable
argument optionnel
Observer/Observable
–Il faut ajouter les observateurs dans la classe
Observable à l’aide de la méthode
addObserver(Observer o).
–Après une modification, la classe observable avise
en faisant appel à deux méthodes :
•setChanged();
•notifyObservers();
Observer/Observable
–La méthode update() de tous les observateurs est
appelés par notifyObservers().
–On peut passer de l’information à la méthode
update par notifyObservers
–Ex: notifyObservers(new Point2D(10,10));
Observer/Observable
Téléchargement