zoukankan      html  css  js  c++  java
  • java学习笔记-设计模式21(状态模式)

    意图

      允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。

    public class State {  
          
        private String value;  
          
        public String getValue() {  
            return value;  
        }  
      
        public void setValue(String value) {  
            this.value = value;  
        }  
      
        public void method1(){  
            System.out.println("execute the first opt!");  
        }  
          
        public void method2(){  
            System.out.println("execute the second opt!");  
        }  
    }  
    

      

    public class Context {  
      
        private State state;  
      
        public Context(State state) {  
            this.state = state;  
        }  
      
        public State getState() {  
            return state;  
        }  
      
        public void setState(State state) {  
            this.state = state;  
        }  
      
        public void method() {  
            if (state.getValue().equals("state1")) {  
                state.method1();  
            } else if (state.getValue().equals("state2")) {  
                state.method2();  
            }  
        }  
    } 
    

      

    public class Test {  
      
        public static void main(String[] args) {  
              
            State state = new State();  
            Context context = new Context(state);  
              
            //设置第一种状态  
            state.setValue("state1");  
            context.method();  
              
            //设置第二种状态  
            state.setValue("state2");  
            context.method();  
        }  
    } 
    

      

      转自:http://blog.csdn.net/zhangerqing/article/details/8245537

  • 相关阅读:
    SQL 开窗函数
    使用 git 管理源代码
    mybatis常见问题
    es-删除记录
    Jmeter使用
    websocket在服务端获取客户端IP
    单点登录
    java中的HTTP客户端
    SpringBoot利用Redis管理分布式Session
    springboot中的统一异常处理
  • 原文地址:https://www.cnblogs.com/gxl00/p/5050603.html
Copyright © 2011-2022 走看看