Context.java
上传用户:hensond
上传日期:2021-12-27
资源大小:817k
文件大小:1k
源码类别:

软件工程

开发平台:

Java

  1. package com.company.section4;
  2. /**
  3.  * @author cbf4Life cbf4life@126.com
  4.  * I'm glad to share my knowledge with you all.
  5.  */
  6. public class Context {
  7. //定义状态
  8. public final static State STATE1 = new ConcreteState1();
  9. public final static State STATE2 = new ConcreteState2();
  10. //当前状态
  11. private State CurrentState;
  12. //获得当前状态
  13. public State getCurrentState() {
  14. return CurrentState;
  15. }
  16. //设置当前状态
  17. public void setCurrentState(State currentState) {
  18. this.CurrentState = currentState;
  19. //切换状态
  20. this.CurrentState.setContext(this);
  21. }
  22. //行为委托
  23. public void handle1(){
  24. this.CurrentState.handle1();
  25. }
  26. public void handle2(){
  27. this.CurrentState.handle2();
  28. }
  29. }