diff --git a/src/wetterstation/AktuelleBedingungenAnzeige.java b/src/wetterstation/AktuelleBedingungenAnzeige.java index c3c7eaa0cc2114133fb7410606ba26b9c95952e2..03256ee20016bce8ea0039feae72087fd557a9a3 100644 --- a/src/wetterstation/AktuelleBedingungenAnzeige.java +++ b/src/wetterstation/AktuelleBedingungenAnzeige.java @@ -10,12 +10,10 @@ public class AktuelleBedingungenAnzeige implements Beobachter { wetterDaten.registriereBeobachter(this); } - public void aktualisieren(Subjekt s) { - if (s instanceof WetterDaten) { - this.temperatur = ((WetterDaten) s).getTemperatur(); - this.feuchtigkeit = ((WetterDaten) s).getFeuchtigkeit(); - anzeigen(); - } + public void aktualisieren() { + this.temperatur = wetterDaten.getTemperatur(); + this.feuchtigkeit = wetterDaten.getFeuchtigkeit(); + anzeigen(); } public void anzeigen() { diff --git a/src/wetterstation/Beobachter.java b/src/wetterstation/Beobachter.java index 3b1dff498dc7a323747277decfd51e45798aa6be..1a37fd3640976327c16851c8d089d74f090074d4 100644 --- a/src/wetterstation/Beobachter.java +++ b/src/wetterstation/Beobachter.java @@ -1,5 +1,5 @@ package wetterstation; public interface Beobachter { - public void aktualisieren(Subjekt s); + public void aktualisieren(); } diff --git a/src/wetterstation/StatistikAnzeige.java b/src/wetterstation/StatistikAnzeige.java index 8510449cc49e493aaa945cb30cd4ae1cee5ef2d5..6c0bc81ea73c007cf1a70a7d0c8dca43a0b9e677 100644 --- a/src/wetterstation/StatistikAnzeige.java +++ b/src/wetterstation/StatistikAnzeige.java @@ -13,22 +13,20 @@ public class StatistikAnzeige implements Beobachter { wetterDaten.registriereBeobachter(this); } - public void aktualisieren(Subjekt s) { - if (s instanceof WetterDaten) { - float temp = ((WetterDaten) s).getTemperatur(); - tempSum += temp; - anzMesswerte++; + public void aktualisieren() { + float temp = wetterDaten.getTemperatur(); + tempSum += temp; + anzMesswerte++; - if (temp > maxTemp) { - maxTemp = temp; - } + if (temp > maxTemp) { + maxTemp = temp; + } - if (temp < minTemp) { - minTemp = temp; - } - - anzeigen(); + if (temp < minTemp) { + minTemp = temp; } + + anzeigen(); } public void anzeigen() { diff --git a/src/wetterstation/Subjekt.java b/src/wetterstation/Subjekt.java index 9762c389ff209a320cac7a0967812987c0a65c2a..cb7e2cb8e7e829650a6dbb9ade16d2b5535be072 100644 --- a/src/wetterstation/Subjekt.java +++ b/src/wetterstation/Subjekt.java @@ -19,7 +19,7 @@ public abstract class Subjekt { public void benachrichtigeBeobachter() { for (int i = 0; i < beobachter.size(); i++) { Beobachter observer = (Beobachter)beobachter.get(i); - observer.aktualisieren(this); + observer.aktualisieren(); } } diff --git a/src/wetterstation/VorhersageAnzeige.java b/src/wetterstation/VorhersageAnzeige.java index ec52e1c0a977bb6660f6d6ca8e640d55b6c24f84..1faa923505e8e9da2ccf05f809c2cc60ce2822ed 100644 --- a/src/wetterstation/VorhersageAnzeige.java +++ b/src/wetterstation/VorhersageAnzeige.java @@ -11,12 +11,10 @@ public class VorhersageAnzeige implements Beobachter { wetterDaten.registriereBeobachter(this); } - public void aktualisieren(Subjekt s) { - if (s instanceof WetterDaten) { - letzterLuftdruck = aktuellerLuftdruck; - aktuellerLuftdruck = ((WetterDaten) s).getLuftdruck(); - anzeigen(); - } + public void aktualisieren() { + letzterLuftdruck = aktuellerLuftdruck; + aktuellerLuftdruck = wetterDaten.getLuftdruck(); + anzeigen(); } public void anzeigen() {