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

  • 相关阅读:
    读取Web.config文件中的配置信息类
    屏蔽页面中的右键操作
    树型目录
    自己常用的分页SQL
    c#用一个线程同步的简单例子

    c++面向对象学习
    数据上传项目总结
    简单的xml学习
    c#中跨线程使用控件
  • 原文地址:https://www.cnblogs.com/gxl00/p/5050603.html
Copyright © 2011-2022 走看看