weatherdata.java

来自「深入浅出设计模式」· Java 代码 · 共 58 行

JAVA
58
字号
package headfirst.observer.weather;import java.util.*;public class WeatherData implements Subject {	private ArrayList observers;	private float temperature;	private float humidity;	private float pressure;		public WeatherData() {		observers = new ArrayList();	}		public void registerObserver(Observer o) {		observers.add(o);	}		public void removeObserver(Observer o) {		int i = observers.indexOf(o);		if (i >= 0) {			observers.remove(i);		}	}		public void notifyObservers() {		for (int i = 0; i < observers.size(); i++) {			Observer observer = (Observer)observers.get(i);			observer.update(temperature, humidity, pressure);		}	}		public void measurementsChanged() {		notifyObservers();	}		public void setMeasurements(float temperature, float humidity, float pressure) {		this.temperature = temperature;		this.humidity = humidity;		this.pressure = pressure;		measurementsChanged();	}		// other WeatherData methods here		public float getTemperature() {		return temperature;	}		public float getHumidity() {		return humidity;	}		public float getPressure() {		return pressure;	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?