欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java交通灯项目一点感悟

程序员文章站 2022-07-12 15:58:45
...

 

 

 

1.编程规范

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

A:建立包名

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

B:定义变量

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

2.编程建议

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

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

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

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

3.交通项目知识点分析

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


Java交通灯项目一点感悟
            
    
    博客分类: Java编程 交通java编程 
 

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

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交通灯项目一点感悟
            
    
    博客分类: Java编程 交通java编程 
  • 大小: 12.7 KB