JAVA中的观察者模式

Q1:什么是观察者模式? 定义:在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。 俗义:有一个称作“主题”的对象和若干个称作“观察者”的对象,它的特点是一对多。比如“老师和学生在教室上课”,老师可以当作“主题”,学生们可以当作“观察者”。 本次案例:模拟气象台向个人、公司、政府发送气温信息。

STEP1定义“主题”接口

主题需要有增加观察者、删除观察者、发送预警信息、设置温度、温度发送等功能

STEP2定义观察者接口

观察者需要接收从主题接口发送的信息,所以只需要写一个方法在这里。

STEP3主题接口的实现

主题接口的实现需要用到vector: Vector 可实现自动增长的对象数组。用来存储观察者。 该类主要实现重写主题接口里的所有方法,具体看代码。

STEP5创建有main方法的主类

在主类里new一个主题,然后往主题里增加观察者,分别是:个人、企业、政府。然后random创建随机整数,在for循环里实现主题对观察者发送相关信息。 看下图实现效果

总结:

由上两图可知,当温度小于35摄氏度时,气象局便不再发送预警,观察者们也就接收不到消息。所以我们明明循环了10次,当只打印了3次,有时只有两次。 以上内容就是观察者模式的案例学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码是一生的追求

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值