打字猴:1.700472993e+09
1700472993
1700472994 //然后电梯门关闭
1700472995
1700472996 lift.close();
1700472997
1700472998 //再然后,电梯运行起来,向上或者向下
1700472999
1700473000 lift.run();
1700473001
1700473002 //最后到达目的地,电梯停下来
1700473003
1700473004 lift.stop();
1700473005
1700473006 }
1700473007
1700473008 }
1700473009
1700473010 运行的结果如下所示:
1700473011
1700473012 电梯门开启……
1700473013
1700473014 电梯门关闭……
1700473015
1700473016 电梯上下运行起来……
1700473017
1700473018 电梯停止了……
1700473019
1700473020 太简单的程序了!每个程序员都会写这个程序,这么简单的程序还拿出来显摆,是不是太小看我们的智商了?非也,非也,我们继续往下分析,这个程序有什么问题?你想想,电梯门可以打开,但不是随时都可以开,是有前提条件的。你不可能电梯在运行的时候突然开门吧?!电梯也不会出现停止了但是不开门的情况吧?!那要是有也是事故嘛,再仔细想想,电梯的这4个动作的执行都有前置条件,具体点说就是在特定状态下才能做特定事,那我们来分析一下电梯有哪些特定状态。
1700473021
1700473022 ❑敞门状态
1700473023
1700473024 按了电梯上下按钮,电梯门开,这中间大概有10秒的时间,那就是敞门状态。在这个状态下电梯只能做的动作是关门动作。
1700473025
1700473026 ❑闭门状态
1700473027
1700473028 电梯门关闭了,在这个状态下,可以进行的动作是:开门(我不想坐电梯了)、停止(忘记按路层号了)、运行。
1700473029
1700473030 ❑运行状态
1700473031
1700473032 电梯正在跑,上下窜,在这个状态下,电梯只能做的是停止。
1700473033
1700473034 ❑停止状态
1700473035
1700473036 电梯停止不动,在这个状态下,电梯有两个可选动作:继续运行和开门动作。
1700473037
1700473038 我们用一张表来表示电梯状态和动作之间的关系,如图26-2所示。
1700473039
1700473040
1700473041
1700473042
[ 上一页 ]  [ :1.700472993e+09 ]  [ 下一页 ]