Displayelement.java,weatherstation.java Ibid.
Weatherdata.java
Importjava.util.Observable; Public class weatherdata extends Observable { Private floattemperature;Private floathumidity;Private floatpressure; Public float gettemperature() {returntemperature; } Public float gethumidity() {returnhumidity; } Public float getpressure() {returnpressure; } Public Weatherdata() { } Public void measurementschanged() {setchanged (); Notifyobservers (); } Public void setmeasurements(floatTemperature,floatHumidity,floatpressure) { This. temperature = temperature; This. humidity = Humidity; This. pressure = pressure; Measurementschanged (); } }
Currentconditiondisplay.java
Importjava.util.Observable;ImportJava.util.Observer; Public class currentconditiondisplay implements Observer, displayelement {-Private floattemperature;Private floathumidity; Observable Observable; Public Currentconditiondisplay(Observable Observable) { This. observable = observable; Observable.addobserver ( This); }@Override Public void Display() {System.out.println ("Current Conditions:"+ Temperature +"F degrees and"+ Humidity +"% humidity"); }@Override Public void Update(Observable Obs, Object Arg) {if(ObsinstanceofWeatherdata) {Weatherdata weatherdata = (weatherdata) obs; This. Temperature = Weatherdata.gettemperature (); This. Humidity = weatherdata.gethumidity (); Display (); } }}
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
Observer pattern for design patterns (Java built-in)