黑马程序员——Java交通灯项目一点感悟_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 黑马程序员——Java交通灯项目一点感悟

黑马程序员——Java交通灯项目一点感悟

 2013/10/15 3:40:33  吴兴峰  程序员俱乐部  我要评论(0)
  • 摘要:----------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流!----------------------看完张孝祥老师的交通灯项目的视频讲解后的一点感悟,张孝祥老师虽然离开了我们,但是他的精神仍然在鼓舞着我们。1.编程规范不要在面试时再去注意编程规范的问题,而要在平时练习的细节中就要注意到这一点,按照规范去编程,养成好的习惯。A:建立包名在开发中一般用公司的域名的反写作为包名的,例如www.baidu.com,那么包名就为com
  • 标签:程序 程序员 Java 项目

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------

?

? 看完张孝祥老师的交通灯项目的视频讲解后的一点感悟,张孝祥老师虽然离开了我们,但是他的精神仍然在鼓舞着我们。

1.编程规范

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

A:建立包名

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

B:定义变量

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

2.编程建议

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

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

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

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

3.交通项目知识点分析

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



?

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

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.变量名来访问外部类的变量。

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 详细请查看:http://edu.csdn.net

  • class='magplus' title='点击查看原始大小图片' />
  • 大小: 12.7 KB
  • 查看图片附件
发表评论
用户名: 匿名