当前位置:编程学习 > JAVA >>

用面向对象的方法设计

1.小王在公路开车行驶遇到红灯停下来,等了1分钟,绿灯亮了,继续前行。
  还有就是如何进行面向对象的设计,求大家赐教一下。 --------------------编程问答-------------------- --------------------编程问答-------------------- 对象有人,车,灯 --------------------编程问答--------------------
引用 1 楼 yetaodiao 的回复:
能否用代码实现一下? --------------------编程问答-------------------- 可以设计

车子对象

行驶和停止是车子的行为,驾驶员是车子的属性 --------------------编程问答--------------------
引用 4 楼 dracularking 的回复:
可以设计

车子对象

行驶和停止是车子的行为,驾驶员是车子的属性


红绿灯是不是也要设计成一个对象,有一个管理红绿灯的方法,亮灯的情况 --------------------编程问答--------------------
引用 5 楼 linhaiguo 的回复:
引用 4 楼 dracularking 的回复:可以设计

车子对象

行驶和停止是车子的行为,驾驶员是车子的属性

红绿灯是不是也要设计成一个对象,有一个管理红绿灯的方法,亮灯的情况

是的,车子行驶时也会与红绿灯发生交互关系 --------------------编程问答-------------------- 我觉得类有人和公路两个,开车是人的一个方法,红绿灯是公路的属性。。。 --------------------编程问答--------------------
引用 7 楼 mrliu0905 的回复:
我觉得类有人和公路两个,开车是人的一个方法,红绿灯是公路的属性。。。


是用面向对象的思想来设计,假如人推车,车移动,人关门,是不是人这个对象内还要有关门的动作,推车的动作 ,还有看似很多是人的动作,以后这个类是不是很庞大,面向对象的思想就是要解决这种问题。你说的红绿灯时公路的属性,我也认同。
   我现在对面向对象的思想也不是很清晰,上面是我的看法。
    网上有说,经典的面向对象的思想
1.谁拥有数据,谁就向外提供操作这些数据的方法
2.谁具有这些属性,谁就提供操作这些属性的方法

我想最关键的就是,找到类然后确定类的方法和属性,然后确定类之间的关系,这一点我也不能掌握的要领。
--------------------编程问答--------------------
引用
假如人推车,车移动,人关门,是不是人这个对象内还要有关门的动作,推车的动作 ,还有看似很多是人的动作,以后这个类是不是很庞大,面向对象的思想就是要解决这种问题

我觉得具体问题具体分析,其实可以把人作为一个抽象类,然后让开车的人继承人这个类,再给开车的人封装相关的方法,对于简单的需求我认为没有必要想太复杂,根据客户提出的需求确定就可以了。楼主说的因为比较简单,所以答案自然会有很多了 --------------------编程问答-------------------- 我感觉只要以现实世界的思路看待就可以了。
和初中学语句成份一样,找出主谓宾等成分
主、宾就是实体类,谓语就是方法。当然也不能一概而论。
人,车,灯设计成一个类。
人有drive()方法,接受“车”和“交通灯情况”两参数来决定车的情况。
车有move(),stop()方法;
交通灯有显示红绿黄灯方法
至于公路,感觉在这里的意义不大,无视它。
--------------------编程问答-------------------- 车子,红绿灯,还有控制器(这个控制器里面有调度任务1分钟执行任务,将原来的红灯1分钟后变成绿灯)

车子有开和停的方法

红绿灯有亮红灯和亮绿灯的方法

车子里面有红绿灯的引用用来检查 红绿灯时什么颜色,绿色使用开的方法,红色使用停的方法



补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,