交通灯管理系统

------- android培训、java培训、期待与您交流! ----------需求分析:1.异步随机生成按照各个路线行驶的车辆。2.交通灯只考虑红灯和绿灯,不考虑黄灯3.只考虑左转车辆的控制信号灯,右转车辆不受信号灯控制4.每辆车通过路口时间为10s5.随机生成车辆时间间隔以及红绿灯交换时间间隔自定如下图所示:上图将复杂的交通逻辑转化为只需要考虑四条路线
摘要由CSDN通过智能技术生成

需求分析:

1.异步随机生成按照各个路线行驶的车辆。
2.交通灯只考虑红灯和绿灯,不考虑黄灯
3.只考虑左转车辆的控制信号灯,右转车辆不受信号灯控制
4.每辆车通过路口时间为10s
5.随机生成车辆时间间隔以及红绿灯交换时间间隔自定

如下图所示:

上图将复杂的交通逻辑转化为只需要考虑四条路线的交通逻辑;简化了模型的构造

我们需要将模型转化为面向对象的类

面向对象设计把握一个重要的经验:谁拥有数据,谁就对外提供操作这些数据的方法。

下面进行分析:

我们所分析的目标是整个交通系统,里面所包含的实体有车、交通灯,交通路

对车而言:由于我们不需要描述车自身的性质,比如说,对车轮记录其单位时间里所转动的次数。所以,我们可以把车用一串字符串表示

交通灯:其本身含有红绿灯的转换,以及控制每条路线所对应的同步路线和下一条路线,故我们把交通灯作为一个对象,其含有操作交通灯的方法和属性

路:路上包含许多车,故我们需要将其在内部定义一个集合,并定义相应的方法操作车,故我们将其定义为一个类

以上定义了所用到的类,但是,对于交通灯而言,我们还需要一个专门控制交通灯的转换的类。

下面我们看具体类的实现:

交通灯:由于该模型涉及到12条路线的交通灯操作,如果将其设计为类,将变得比较复杂。枚举是一种特殊的类,它可以包含多个其本身的对象,他为我们在这方面提供了方便,故想到用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值