更新时间2018-03-06 21:31:37
这个应该是训练你的逻辑抽象能力,拿一个电梯程序来做例子,引导你通过构建一个电梯的抽象模型来建立抽象的思维、设计方式。
电梯都坐过吧,具体的所有使用情况基本上可分为如下一些部分:
1、上楼、下楼的请求;(就是你在所在楼层,按上下键,发出一个请求)
2、电梯开关门的动作;(电梯到达你所在楼层以后,先打开门,在按关门键或一定时间以后关上门)
3、按楼层键的动作;(人进入电梯以后,会按下想去的楼层按钮)
4、请求的楼层数;(如果有多个人,可能多有多个目的楼层,这里需要记录这些目的楼层)
5、电梯上行下行等运行的控制逻辑;(这里就少许复杂一些,包括比如:需要考虑电梯当前所在的楼层是哪一层,应当如何科学、合理的运行到当前接到请求的多个楼层去,人进入以后,如何运行到多个目的楼层去,当电梯空置的时候应该停留在当前所在楼层还是返回到1层去,如果有多台电梯联动的情况应如何协同控制,等等这些需要的控制逻辑、策略)
简单来说,一个电梯可以抽象成一个对象(电梯类),它具有一些可执行的动作(接口),一些需要记录的请求和目的楼层数据(属性),以及一些运行控制逻辑(方法),同时需要考虑多台并联的情况(扩展的方法)。通过上面描述的需要考虑的情况,把各个需要考虑的因素抽象设置成各种程序的组成部分(类、接口、属性、方法、扩展方法)等就可以了。
你可以先试着写一写,如果有疑问,回头大家再给你意见。