19、State 状态模式

1State

便使使广

2

2.1

 if (state == "") {
             if () {
                 ;
                 state = "";
            }else if() {
                 ;
                 state = "";
            }
        } else if(state == "") {
             if () {
                 ;
                 state = "";
            }else if() {
                 ;
                 state = "";
            }
        } else {
             if (退) {
                 退;
                 state = "";
            }else if() 
                
                state = ""
           
       

2.2使state

1State

 /**
  * Usertumbler
  * Desc--
  */
 public interface State {
     void handle();
 }
 

2ConcreteStateState

 /**
  * Usertumbler
  * Desc--ConcreteState--
  */
 public class FreeState implements State {
     @Override
     public void handle() {
         System.out.println("");
    }
 }
 
 
 /**
  * Usertumbler
  * Desc--ConcreteState--
  */
 public class BookedState implements State {
     @Override
     public void handle() {
         System.out.println("");
    }
 }
 
 /**
  * Usertumbler
  * Desc--ConcreteState--
  */
 public class CheckedState implements State {
     @Override
     public void handle() {
         System.out.println("");
    }
 }
 

3

 /**
  * Usertumbler
  * Desc--
  */
 public class Client {
     public static void main(String[] args) {
         Context context = new Context();
         context.setState(new FreeState());
         context.setState(new CheckedState());
    }
 }
 

 
 
 
 

3State

State

State()State( API)( API)State

ConcreteState ()ConcreteStateStateDayStateNightState

Context ()ContextConcreteState使State( API)ContextSafeFrameContext ContextSafeFrameContext使State( API), SafeFrameConcreteState

4

(1)

(2) 使

(3) 使

(4)

(1) 使

(2) 使

(3)

使

(1)

(2) 便

公众号发哥讲

这是一个稍偏基础和偏技术的公众号,甚至其中包括一些可能阅读量很低的包含代码的技术文,不知道你是不是喜欢,期待你的关注。

img

如果你觉得文章还不错,就请点击右上角选择发送给朋友或者转发到朋友圈~

● 扫码关注我们

据说看到好文章不推荐的人,服务器容易宕机!

本文版权归发哥讲博客园共有,原创文章,未经允许不得转载,否则保留追究法律责任的权利。

 

原文地址:https://www.cnblogs.com/naimao/p/13446531.html