- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象设计模式 观察者
曹东刚
caodg@
北京⼤学信息学院研究⽣课程- 面向对象的分析与设计
/˜caodg/course/oo
⼀个应用: 建造下⼀代Internet ⽓象观察站
已有基础:
⼀个已开发的WeatherData 对象,负责追踪目前的天⽓状
况(温度、湿度、⽓压)
要求开发⼀个⽓象观察应用:
有三种布告板,分别显示目前的状况、⽓象统计及简单的预
报,当WeatherData 对象获得最新的⽓象数据时,三种布告
板必须实时更新
⽓象站必须可扩展,能公开⼀组API ,允许其他开发⼈员开
发出自⼰的⽓象布告板,并插⼊此应用中
1 / 18
⽓象观察应用的概况
湿度感应装置
取得数据 显示
⽓象站
温度感应装置
WeatherData 对象
⽓象布告板
已有基础 待开发应用
⽓压感应装置
2 / 18
WeatherData 类
//
WeatherData
*Will*Will bebe calledcalled whenwhen measurementsmeasurements
*changed*changed
getTemperature() */*/
getHumidity()
getPressure() publicpublic voidvoid measurementsChanged()measurementsChanged() {{
//Write//Write youryour codecode herehere
measurementsChanged() }}
3 / 18
我们知道的信息
WeatherData 类的getter ⽅法可以取得温度、湿度、⽓压的
值
当有新数据的时候,measurementsChanged ⽅法就会被调用
我们不关⼼它如何被调用,只知道它⼀定会被调用
我们需要实现三个布告板:目前状况布告、⽓象统计布告、
天⽓预报布告,这些布告必须能够实时更新
系统必须允许在运⾏时添加新的布告板
您可能关注的文档
最近下载
- 湖北省宜昌市部分省级示范高中2024-2025学年高一上学期期中联考数学试题含答案.docx VIP
- 考研真题 南京财经大学会计学院813会计学综合(微观经济学、会计学)历年考研真题汇编(含部分答案).docx VIP
- 2025年吉林通用航空职业技术学院单招职业适应性测试题库完美版.docx VIP
- 2025至2030中国航空配餐行业市场发展分析及竞争格局与发展趋势报告.docx
- 霍尼韦尔 教程及应用Honeywell QCS培训材料.pdf
- 2025年吉林通用航空职业技术学院单招职业适应性测试题库1套.docx VIP
- 2019ESCEAS血脂异常管理指南2025重点更新解读PPT课件.pptx VIP
- 湖北省宜昌市部分省级示范高中2024-2025学年高一上学期期中联考化学试题 含答案.docx VIP
- 2024年吉林通用航空职业技术学院单招职业适应性测试题库最新.docx VIP
- 2024新部编人教版小学一年级语文(上册)全册完整教案设计.pdf VIP
原创力文档


文档评论(0)