Java交通灯项目一点感悟

阅读更多

 

 

 

1.编程规范

    不要在面试时再去注意编程规范的问题,而要在平时练习的细节中就要注意到这一点,按照规范去编程,养成好的习惯。

A:建立包名

    在开发中一般用公司的域名的反写作为包名的,例如www.baidu.com,那么包名就为com.baidu,然后再加上开发的项目名等,还有包名为全部小写。

B:定义变量

     注意定义变量的用名规范,变量名要做到见名知意,而且如果有多个词汇组成,那么首单词全部小写,第二个单词首字母大写。

2.编程建议

    在平时创建对象时一般都直接用类名直接创建对象,然而听张老师的视频的建议是面向接口编程。

A:面向接口编程,多态的前提之一。

B:接口是一组规范,它规定了实现接口的类或接口必须实现拥有的一组规则。

C:面向接口编程可以提高程序的可扩展性。

3.交通项目知识点分析

   在我们平时可能并不注意这些现象,所以编写这个程序的前提是要理解现实生活的一些现象,在十字路口,同一个方向的灯是一致的,假如说南面的交通灯是绿的,那么背面的灯也是绿的,在此时南北方向的车都可以通行,由南往西转弯的车和由北往东转弯的车,当然右转的车俩不受交通灯的控制,所以把车辆分类为:


Java交通灯项目一点感悟_第1张图片
 

在这里同一中颜色的为可以在直行车辆行驶完后然后再行驶,通俗的说就是属于同一个系列的。

4.项目分析

     根据交通灯项目分析定义为四个类,一个是road类,Lamp类,LampController类和MainClass测试类。

A:Road

结合生活常识,车辆行驶的方向上分类有12个方向,那么对应到Road类上相当于有12条路可以供这些车来行驶,所以创建了12Road类实例对象。

在每条路上随机产生车辆,然后把这些产生的车辆存储到集合中。

然后检查相应路线上的灯是否是绿灯,如果是,那么车辆放行,并在集合中相应去除这些车辆。

随机睡眠时间代码体现

Thead.sleep((new Random().nextInt(10)+1)*1000)

B:Lamp

Lamp类表示交通灯,那么有12个方向就对应有12个交通灯,除了右转的灯外别的8个方向上的灯都是成对出现的,那么就可以把这些灯非为4组,让这个组中的一个灯来控制相应的灯,然而也记住下一个灯的变化。

在这里用枚举可以简化了编程的复杂程度。

C:LampController

在这里用LampController类的构造方法中设定一个绿灯,然后使用一个定时器定义时间来控制灯之间的转换。

D:MainClass类来创建创建路的对象和使用LampController类创建对象控制灯的变化进而控制车辆的通行。

5.关于内部类访问外部类变量解决方法

A:内部类访问外部类的局部变量,那么可以在外部类的局部变量上加上final修饰。

B:也可以使用加上外部类名.this.变量名来访问外部类的变量。

 

  • Java交通灯项目一点感悟_第2张图片
  • 大小: 12.7 KB
  • 查看图片附件

你可能感兴趣的:(交通,java,编程)