设计模式-状态模式

1.电脑状态:关闭,开启。通过开关控制电脑状态。

2.使用场景:主体内部有多种状态,主体状态由操作不同引发变化。

//事物主体有状态。 操作会让事物主体内部状态变化。 某种状态是由那些操作引起
    class Computer{
        private State _state = new Off();

        private void setState(State state){
            _state = state;
        }

        public void pressPowerButton(){
            _state.pressPowerButton(this);
        }
    }


    //状态接口
    interface State{
        void pressPowerButton(Computer computer);
    }

    //关闭状态
    class Off implements State{

        @Override
        public void pressPowerButton(Computer computer) {
            computer.setState(new On());
        }
    }

    //开启状态
    class On implements  State{

        @Override
        public void pressPowerButton(Computer computer) {
            computer.setState(new Off());
        }
    }

 

posted @ 2021-10-16 15:28  N神3  阅读(34)  评论(0编辑  收藏  举报