diff --git a/README.md b/README.md index 1d67f2eb561d39bd8acab8b9fbec9fd48d2db994..983d4058d17563ce2940c7eeac5077b9882060d9 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,18 @@ Il utilise pour ça sa propre méthode « notifyObservers() ».  +**Q1.1** Compléter la classe abstraite Subject de manière à pouvoir disposer du mécanisme Observateur/Observé. + +```java +package fr.univlille.iut.r304.tp4.q1; +public abstract class Subject { + public void attach(Observer obs) + public void detach(Observer obs) + public void notifyObervers() + public void notifyObervers(Object data) +} +``` + Nous utiliserons ce pattern pour implémenter un (des) chronomètre(s). La classe suivante implémente un thread simple qui produit un évènement toutes les secondes. Ce TimerThread permettra de mettre à jour des horloges qui afficheront l’heure. @@ -45,23 +57,6 @@ Commencez avec deux chronomètres console qui affiche simplement leur nom et le Note: Des tests sont fournis dans le projet pour que vous vous assuriez que vos classes fonctionnent comme attendu. Respectez les noms des packages, classes et méthodes -**Q1.1** Implémentez la classe Subject et l’interface Observer - -```java -package fr.univlille.iut.r304.tp4.q1; -public abstract class Subject { - public void attach(Observer obs) - public void detach(Observer obs) - public void notifyObervers() - public void notifyObervers(Object data) -} - -public interface Observer { - public void update(Subject subj); - public void update(Subject subj, Object data); -} -``` - **Q1.2** Pour l’implémentation de Timer, on s’aperçoit d’un problème d’héritage. Quelles sont les deux classes dont ce Timer devrait hériter ? diff --git a/src/main/java/fr/univlille/iut/r304/tp4/q1/Observer.java b/src/main/java/fr/univlille/iut/r304/tp4/q1/Observer.java index 95162b1ac6e204a333e4b7625394f6e3b1f6a50b..51c2e90f895e5ca7eb6fcdd2ff82c6dd37485d74 100644 --- a/src/main/java/fr/univlille/iut/r304/tp4/q1/Observer.java +++ b/src/main/java/fr/univlille/iut/r304/tp4/q1/Observer.java @@ -2,4 +2,7 @@ package fr.univlille.iut.r304.tp4.q1; public interface Observer { + public void update(Subject subj); + public void update(Subject subj, Object data); + }