Head First设计模式笔记(观察者模式--jdk自带实现)
来源:互联网 发布:mybatis动态sql详解 编辑:程序博客网 时间:2024/05/17 12:02
1.主题类
package com.TWO;import java.util.Observable;public class WeatherData extends Observable { private float temp; private float humidity; private float pressure; public WeatherData(){} public void measurementsChanged(){ //在调用notifyObservers()之前,要先调用setChanged来指示状态已经改变 setChanged(); notifyObservers(); } public void setMeasurements(float temp,float humidity,float pressure){ this.temp = temp; this.humidity = humidity; this.pressure = pressure; measurementsChanged(); } public float getTemperature(){ return temp; } public float getHumidity(){ return humidity; } public float getPressure(){ return pressure; }}
2.观察者
package com.TWO;import java.util.Observable;import java.util.Observer;public class CurrentConditionsDisplay implements Observer{ Observable observable; private float temp; private float humidity; public CurrentConditionsDisplay(Observable observable) { this.observable = observable; observable.addObserver(this); } @Override public void update(Observable o, Object arg) { if(o instanceof WeatherData){ WeatherData weatherData = (WeatherData)o; this.temp = weatherData.getTemperature(); this.humidity = weatherData.getHumidity(); display(); } } public void display(){ System.out.println("temp = "+ temp +";humidity = "+ humidity); }}
测试类
package com.TWO;public class Main { public static void main(String[] args){ WeatherData weatherData = new WeatherData(); new CurrentConditionsDisplay(weatherData); //模拟数据变化 weatherData.setMeasurements(30, 40, 50); }}
阅读全文
0 0
- Head First设计模式笔记(观察者模式--jdk自带实现)
- Head First 设计模式笔记--观察者模式
- Head First 设计模式(2)- 观察者模式 笔记
- Head First设计模式学习笔记-------(2)观察者模式
- Head First设计模式笔记(观察者模式)
- Java设计模式(观察者模式JDK自带)
- Head First 设计模式学习笔记(2)--观察者模式
- 《Head First 设计模式》学习笔记之观察者模式
- Head First设计模式学习笔记——观察者模式
- 《Head first设计模式》学习笔记 - 观察者模式
- 《Head first设计模式》学习笔记 – 观察者模式
- 《Head First 设计模式》-观察者模式C++实现
- head first设计模式学习笔记(二)——观察者模式 C++实现
- head first 设计模式:观察者模式1
- Head First设计模式-观察者模式
- 《Head First 设计模式》观察者模式
- 《Head First 设计模式》之观察者模式
- Head First 设计模式2 观察者模式
- Opencv Sift算子特征提取与匹配
- 一只小蜜蜂
- javascript学习(六)— iterable
- bzoj 1566 NOI 2009 管道取珠 DP 解题报告
- windows使用计划任务定时执行kettle资源库中的job
- Head First设计模式笔记(观察者模式--jdk自带实现)
- (1)php爬虫---提取优酷动漫的url
- PHP For 循环
- 开门大吉
- P1605 迷宫
- 用户文件下载服务解决方案
- protobuf转json
- Spring mvc拦截器+angular js拦截器 做用户登录拦截控制
- 使用Spring提供的BeanUtils.copyProperties()方法报错:Could not copy property 'xxx' from source to target