码迷,mamicode.com
首页 > 编程语言 > 详细

java学习笔记-设计模式21(状态模式)

时间:2015-12-16 12:33:30      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

意图

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

 

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

java学习笔记-设计模式21(状态模式)

标签:

原文地址:http://www.cnblogs.com/gxl00/p/5050603.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!