Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Java code below
- interface IWeatherStation {
- void setData(int temperature, int pressure);
- int getTemperature();
- int getPressure();
- }
- interface IDisplay {
- void update(IWeatherStation station);
- }
- class WeatherStation implements IWeatherStation {
- private IDisplay temperatureDisplay;
- private IDisplay pressureDisplay;
- private int currentTemperature = 0;
- private int currentPressure = 0;
- public WeatherStation(IDisplay temperatureDisplay, IDisplay pressureDisplay) {
- this.temperatureDisplay = temperatureDisplay;
- this.pressureDisplay = pressureDisplay;
- }
- public void setData(int temperature, int pressure) {
- currentTemperature = temperature;
- currentPressure = pressure;
- temperatureDisplay.update(this);
- pressureDisplay.update(this);
- }
- public int getTemperature() {
- return currentTemperature;
- }
- public int getPressure() {
- return currentPressure;
- }
- }
- class TemperatureDisplay implements IDisplay {
- public void update(IWeatherStation station) {
- System.out.println("Temperature: " + station.getTemperature());
- }
- }
- class PressureDisplay implements IDisplay {
- public void update(IWeatherStation station) {
- System.out.println("Pressure: " + station.getPressure());
- }
- }
- class WeatherStationFactory {
- public static IWeatherStation createWeatherStation(IDisplay[] displays) {
- return new WeatherStation(displays[0], displays[1]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement