package Ġorg . df re er . design patterns . observer . weather . display s Ċ Ċ import Ġorg . df re er . design patterns . observer . weather . Display Ċ import Ġorg . df re er . design patterns . observer . weather . Weather Data Ċ import Ġjava . util . Observable Ċ Ċ class ĠFore cast Display ( private Ġval Ġweather Data : ĠObservable ) Ġ: ĠDisplay Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġweather Data . add Observer ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġcurrent Pressure : ĠFloat Ġ= Ġ 2 9 . 9 F ĊĠĠĠ Ġprivate Ġvar Ġlast Pressure : ĠFloat Ġ= Ġ 0 F ĊĊĠĠĠ Ġprivate Ġfun Ġupdate ( pressure : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlast Pressure Ġ= Ġcurrent Pressure ĊĠĠĠĠĠĠĠ Ġcurrent Pressure Ġ= Ġpressure ĊĠĠĠĠĠĠĠ Ġdisplay () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( o : ĠObservable ?, Ġarg : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( o Ġis ĠWeather Data ) Ġupdate ( o . pressure ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdisplay () Ġ{ ĊĠĠĠĠĠĠĠ Ġprint (" Forecast : Ġ") ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Pressure Ġ> Ġlast Pressure Ġ-> Ġprintln (" Impro ving Ġweather Ġon Ġthe Ġway !") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Pressure Ġ== Ġlast Pressure Ġ-> Ġprintln (" More Ġof Ġthe Ġsame ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Pressure Ġ< Ġlast Pressure Ġ-> Ġprintln (" Watch Ġout Ġfor Ġcool er , Ġrain y Ġweather ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclose () Ġ{ ĊĠĠĠĠĠĠĠ Ġweather Data . delete Observer ( this ) ĊĠĠĠ Ġ} Ċ } Ċ