package com.cheng.zenofdesignpatterns.patterns.state.liftstate; /** * 电梯门关闭以后,电梯可以做哪些事情 */ public class ClosingState extends LiftState { // 电梯门关闭,这是关闭状态要实现的动作 @Override public void close() { System.out.println("电梯门关闭..."); } // 电梯门关了再打开,逗你玩呢,那这个允许呀 @Override public void open() { super.context.setLiftState(LiftContext.openningState); // 置为门敞状态 super.context.getLiftState().open(); } // 电梯门关了就跑,这是再正常不过了 @Override public void run() { super.context.setLiftState(LiftContext.runningState); // 设置为运行状态; super.context.getLiftState().run(); } // 电梯门关着,我就不按楼层 @Override public void stop() { super.context.setLiftState(LiftContext.stoppingState); // 设置为停止状态; super.context.getLiftState().stop(); } }