Skip to content
Snippets Groups Projects
Commit cf1db811 authored by Fabien Delecroix's avatar Fabien Delecroix
Browse files

interface fournie complète + question plus tôt

parent 3ae7402c
No related branches found
No related tags found
No related merge requests found
......@@ -13,6 +13,18 @@ Il utilise pour ça sa propre méthode « notifyObservers() ».
![Diagrame UML du patron Observateur/Observé](documentation/umlObserverObservable.png)
**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 ?
......
......@@ -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);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment