From cf1db8118280af3173347bc7595dda4c8f58c8fe Mon Sep 17 00:00:00 2001
From: "fabien.delecroix" <fabien.delecroix@univ-lille.fr>
Date: Wed, 27 Sep 2023 18:16:53 +0200
Subject: [PATCH] =?UTF-8?q?interface=20fournie=20compl=C3=A8te=20+=20quest?=
=?UTF-8?q?ion=20plus=20t=C3=B4t?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 29 ++++++++-----------
.../univlille/iut/r304/tp4/q1/Observer.java | 3 ++
2 files changed, 15 insertions(+), 17 deletions(-)
diff --git a/README.md b/README.md
index 1d67f2e..983d405 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 95162b1..51c2e90 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);
+
}
--
GitLab