#答答租车系统(imooc.com作业)
##项目背景介绍
根据所学知识,编写一个控制台版本的“答答租车系统”
功能:
- 展示所有可租车辆;
- 客户选择车型、租车量
- 展示租车清单,包含:车型、总载货量、总载人量以及总金额
##项目分析
- 数据模型分析
- 业务模型分析
- 显示和流程控制分析
###数据模型分析(也就是初期的构思阶段)
- 通过对现实世界的事与物主要特征的分析、抽象,为信息系统的实施提供 数据存取的数据结构和相应的约束。
- 数据结构的组成:方法、属性
- 车 abstract class Car + 货车 Truck + 客车 Passenger + 小货车 Pickup
- 车 abstract class Car + 载货量 goods + 载人量 people + 型号 name + 价格 pricePerDay + 运行 run()
###业务模型分析(就是一种思想)
- 在设计应用程序之前,应该明确应用程序必须执行哪些任务。
分析业务需求是应用程序开发中最重要的步骤之一。
确认业务需求的目的在于创建一个能同时满足零售商和消费者需要的解决方案。 - 答答租车系统,简化了问题,只要考虑消费者的业务需求就可以了:
- 选车
- 租车天数
- 统计金额
- 载客、载货量 消费者如何选车呢?可以给车的对象编号,消费者输入相应的数字就完成了选择关联。
###显示和流程分析(也就是比较前端的部分)
- 显示:用户可以看到的信息提示界面。
- 提示
- 输入
- 输出
- 流程:现实信息的执行过程和步骤。 比如 ATM 界面,提示信息就可以理解为显示部分,而输入密码取钱等过程就是流程。
- 答答租车系统中,要以命令行的方式显示提示信息和输出结果信息,要考虑其样式,用户输入的数据不同,信息该如何提示,如何处理并显示出结果,这部分知识囊括了显示与流程的内容。 例如:请选择车辆->请输入序号->输出总金额...
参考控制台界面(学到网页开发时才有图形界面):
欢迎使用答答租车系统:
您是否要租车:1是 0否
1
您可租车的类型及价目表:
| 序号 | 汽车名称 | 租金 | 容量 |
|---|---|---|---|
| 1. | 奥迪A4 | 500元/天 | 载人:4人 |
| 2. | 马自达6 | 400元/天 | 载人:4人 |
| 3. | 皮卡雪6 | 450元/天 | 载人:4人 载货:2吨 |
| 4. | 金龙 | 800元/天 | 载人:20人 |
| 5. | 松花江 | 400元/天 | 载货:4吨 |
| 6. | 依维柯 | 1000元/天 | 载货:20吨 |
| 请输入您要租车的数量: | |||
| 4 | |||
| 请输入第1一辆车的序号: | |||
| 1 | |||
| 请输入第2一辆车的序号: | |||
| 2 | |||
| 请输入第3一辆车的序号: | |||
| 3 | |||
| 请输入第4一辆车的序号: | |||
| 4 | |||
| 请输入租车天数: | |||
| 3 | |||
| 您的账单: | |||
| ***可载人的车有: | |||
| 奥迪A4 马自达6 皮卡雪6 金龙 共载人:32人 | |||
| ***载货的车有: | |||
| 皮卡雪6 共载货:2.0吨 | |||
| ***租车总价格:6450.0元 |
##项目流程
- 分析项目;
- 编写代码;
- 首先建立父类、子类、测试类的文件,然后再完善程序;
##编译方法
- 在MyEclipse中建立java工程
- 建立包 com.imooc
- 导入所有*.java文件
- 运行
##小结
-
车定义为抽象类
-
多态
- 多态只能应用于父类和子类;
- 可以使用父类数组,元素则是不同的子类对象,可以直接在数组元素里new对象;
- 数组里的长代码,可以分行写;
- 此外,使用多态数组,避免了生成多个零散的引用;
-
为不同类的车型创建不同的类,因为不同的车型具有不同的特征,所以为车型创建类:
- Car
- 不同的车型类 extends Car
-
输出格式在运行中反复调试;
-
markdown换行末尾要有两个空格;
-
表格上面要空一行;
-
分割线上面要空一行;
-
类表用 + 号;
##小感
-
完成这个项目包括文档,花费了4个多小时,而且熬夜了;
-
这个项目仅仅涉及了初级语法,就耗费了这么长时间;
-
成为一个熟练的有创造的程序员,不要停留在初级程序阶段,否则加班熬夜拖延,是必然的;
-
不要怕,开始时有语法忘记了,害怕动手写,但是不要怕,写的时候再查;
-
语法是很容易忘掉的,这是必然的,除了每天练手,没有别的办法,不要害怕忘记;
-
代码是越写越熟的,不要害怕虫子,喜欢上虫子吧。
##参考链接
1. 慕课网作业
2. 在线Markdown