问答题 阅读下列说明和Java代码,将应填入______的字句写在下面。
[说明]
某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据,当获取到最新的环境测量数据时,显示的环境数据能够更新现在采用观察者(observer)模式来开发该系统,观察者模式的类图如下图2所示。
【正确答案】
【答案解析】Subject
observer.update(temperature,humidity,cleanness)
notifyObservers()
measurementsChanged()
Observer()
envData.registerObserver(this) [解析] EnVironmentData是环境数据,也就是我们要监测的对象,即主题(Subject),因此第一处为Subject,第二处为通知观察者,因此遍历观察者容器,遍历到一个观察者对象,则更新该观察者的数据,即调用观察者的update()方法,当环境数据变化时,需要通知观察者,因此第四处是调用环境变化方法measurementsChanged(),通过此方法通知观察者更新数据,因此,第三处为notifyObservers()。
根据CurrentconditionsDisplay类中的update()方法可知:CurrentconditionsDisplay是个观察者,因此第五处为Observer,第六处是将观察者添加到主题中去。