读书人

java状态形式

发布时间: 2012-08-27 21:21:57 作者: rapoo

java状态模式

Uml图:


java状态形式

//抽象状态(State)public interface TemperatureState {      public void showTemperature();}//具体状态:public class LowState implements TemperatureState{    double n=0;    LowState(double n){      if (n<0) {                  this.n=n;            }    }      @Override      public void showTemperature() {            System.out.println("现在温度是"+n+"属于低温");      }}public class HeightState implements TemperatureState{    double n=39;      public HeightState(int n) {            if (n>39) {                  this.n=n;            }      }      @Override      public void showTemperature() {            System.out.println("现在温度是"+n+"属于高温");      }}public class MiddleState implements TemperatureState{    double n=15;      public MiddleState(int n) {            if (n>0&&n<26) {                  this.n=n;            }      }      @Override      public void showTemperature() {            System.out.println("现在温度"+n+"属于正常温度");      }}//环境Contextpublic class Thermometer {      TemperatureState state;      public void showMessage() {            System.out.println("*********");            state.showTemperature();            System.out.println("*********");      }      public void setState(TemperatureState state) {            this.state=state;      }}//模式使用:public class Application {      public static void main(String[] args) {            TemperatureState state = new LowState(-12);            Thermometer thermometer = new Thermometer();            thermometer.setState(state);            thermometer.showMessage();            state = new MiddleState(20);            thermometer.setState(state);            thermometer.showMessage();            state = new HeightState(39);            thermometer.setState(state);            thermometer.showMessage();      }}
?

读书人网 >编程

热点推荐