请根据观察者模式,用Java语言设计并实现气象站程序。
运行结果如下,和要求相同,代码很全,修改学号即可使用。
详细代码:
Observer.java
/**
* @paragram: ObserverPattern
* @description: 观察者接口
* @auhor: liuergo
* @date: 2019-11-04 20:24
*/
public interface Observer {
public void update(float temp, float humidity, float pressure);
}
Subject.java
/**
* @paragram: ObserverPattern
* @description: 被观察者接口
* @auhor: liuergo
* @date: 2019-11-04 20:25
*/
public interface Subject {
public void registerObserver(Observer observer);
public void removeObserver(Observer observer);
public void notifyObserver();
}
DisplayElement.java
/**
* @paragram: ObserverPattern
* @description: 显示接口
* @auhor: liuergo
* @date: 2019-11-04 20:25
*/
public interface DisplayElement {
public void display();
}
WeatherData.java
import java.util.ArrayList;
/**
* @paragram: ObserverPattern
* @description: 被观察者实体类
* @auhor: liuergo
* @date: 2019-11-04 20:43
*/
public class WeatherData implements Subject {
private ArrayList<Observer> observers;
private float temperature;
private float humidity;
private float pressure;
public WeatherData() {
observers = new ArrayList<>();
}
@Override
public void registerObserver(Observer observer) {
observers.add(observer);
}