黑马程序员_编写交通灯系统思路与感想

本文作者分享了在编写交通灯管理系统时的心得体会,深入理解了面向对象编程的思想。通过分析交通灯的实际需求,作者创建了Car、Road、Lamp和ContralOfTraffic四个类,模拟了红绿灯的交替变化和车辆通行规则。代码实现包括车辆的行驶方向判断、红绿灯状态控制以及十字路口车辆的增加和减少。交通灯控制类每隔10秒切换东西和南北方向的绿灯,车辆根据红绿灯状态安全通过路口。
摘要由CSDN通过智能技术生成

  -------<a href="http://www.itheima.com/"">android培训</a>、<a   href="http://www.itheima.com/" ">java培训</a>期待与您交流!----------

          

                          黑马程序员_编写交通灯系统思路与感想

 

编写完面试题交通灯管理系统后,让我更是加深了对面向对象编程思想的认识。

总结一下自己在编写程序的经验。

首先要从现实生活中分析要编写的程序的需求与逻辑。然后根据分析的结果把其中涉及到的事务抽象成程序程序语言中的类。运用面向对象的思想把整个程序涉及的动作行为编写成方法放在与其对应的类中。

编写交通灯系统时,根据现实生活可以发现。每个十字路口都会设有四个方向的红绿灯。在不考虑黄灯的情况下。东西方向与南北方向的灯各为一组,亮灯的颜色依次交替变换、车辆根据红灯停绿灯行的原则通过路口。有一个特例,右转弯的车辆不用管红绿灯直接可以通过路口。

在分析完这些后,我的思路是。从中抽象出四个类

Car:行驶的车辆类

Road:路线类。

Lamp:红绿灯枚举,列出了四个方向的红绿灯

ContralOfTraffic:控制红绿灯类

ContralOfTraffic类控制四个红绿灯颜色的交替变化,car类根据其其前方的红绿灯颜色通过十字路口。

Road类不断增加车辆,并减掉义通过路口的车。

具体代码如下

 

package com.huawei.ithei.traffic;

/*

 * 本枚举根据路上12种不同行车方向的车辆定义的车辆枚举。

 * 有关于名字的构造方法。抽象方法,根据自己前方红绿灯是否为绿灯而决定是否

 * 通过路口的isGo().

 * 覆盖toString().

 */

public enum Car {

N2S("由北向南"){

 

@Override

public boolean isGo() {

// TODO Auto-generated method stub

return Lamp.S.lighted;

}

},

S2N("由南向北"){

 

@Override

public boolean isGo() {

// TODO Auto-generated method stub

return Lamp.N.lighted;

}},

W2E("由西向东"){

 

@Override

public boolean isGo() {

// TODO Auto-generated method stub

return Lamp.E.lighted;

}},

E2W("由东向西"){

 

@Override

public boolean isGo() {

// TODO Auto-generated method stub

return Lamp.W.lighted;

}},

N2E("由北向东"){

 

@Override

public boolean isGo() {

// TODO Auto-generated method stub

return Lamp.E.lighted;

}},

N2W("由北向西,右转弯"){

 

@Override

public boolean

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值