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