設計模式----行為型模式之觀察者模式(Observer Pattern)
阿新 • • 發佈:2018-12-31
/**
* 天氣主題(可觀察者/目標)
* @author mjs
* @version 1.0.0
* @filename WeatherData.java
* @time 2017-3-9 下午8:26:48
* @copyright(C) 2017 **********有限公司
*/
package com.shing.design.observerpattern;
import java.util.Observable;
public class WeatherData extends Observable {
private float temperature; //溫度
private float humidity; //溼度
private float pressure; //氣壓
public float getTemperature() {
return temperature;
}
public WeatherData() {
// TODO Auto-generated constructor stub
}
/**
* 改變狀態,通知觀察者(佈告板)
*/
public void measurementsChanged(){
setChanged();
notifyObservers();
}
/**
* 當氣象臺檢測到變化是呼叫該方法
* @param temperature 溫度
* @param humidity 溼度
* @param pressure 大氣壓
*/
public void setMeasurements(float temperature, float humidity, float pressure){
this.temperature = temperature;
this.humidity = humidity;
this.pressure = pressure;
measurementsChanged();
}
public void setTemperature(float temperature) {
this.temperature = temperature;
}
public float getHumidity() {
return humidity;
}
public void setHumidity(float humidity) {
this.humidity = humidity;
}
public float getPressure() {
return pressure;
}
public void setPressure(float pressure) {
this.pressure = pressure;
}
}