1700472977
1700472978
}
1700472979
1700472980
电梯的开、关、运行、停都实现了,再看看场景类是怎么调用的,如代码清单26-3所示。
1700472981
1700472982
代码清单26-3 场景类
1700472983
1700472984
public class Client{
1700472985
1700472986
public static void main(String[]args){
1700472987
1700472988
ILift lift=new Lift();
1700472989
1700472990
//首先是电梯门开启,人进去
1700472991
1700472992
lift.open();
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
❑闭门状态
[
上一页 ]
[ :1.700472977e+09 ]
[
下一页 ]