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 ]
[
下一页 ]