记一次Java综合小练习
最近开学入门学习Java,在今天上午之前,这个综合练习对我来说都是有难度的,哈哈.感觉主要是没有思路吧,没套路的纯情学生一枚
0.问题描述
这是一道慕课网上的综合小练习.针对的是Java入门.我天,有和我同样水平的小伙伴,这道练习很适合你哦
好了,废话不多说,上题目描述:
根据所学知识,编写一个控制台版的"答答租车系统".
功能:
1. 展示所有可租车辆
2. 选择车型,租车量
3. 展示祖车清单,包含: 总金额, 总载货量及其车型,总载人量及其车型
1.项目Analysis
看到它的第一眼,完全 懵 了,有木有…
如果叫我不看视频的分析,我想这个思路我是铁打的想不出来了…
分析分为3部分: 数据模型分析, 业务模型分析, 还有就是显示和流程分析
模型简化: 车可以分为载货车和载客车两类.其中载货车又有轻型和重型之分. 载客车又分为小客车和大客车.(注意这里只是通过项目来学习面向对象思想,因此用的是及其简单的模型).这里面有一类车比较特殊,它既能载客又能载货,比如说皮卡车.
业务分析: 这里只考虑消费者需求.有简单的选车,租车天数,统计金额,统计载客和货量.
显示与流程分析: 控制台用户界面,以及可能的界面跳转等等.噢,感觉心被掏空.
2.部分代码Show
面向对象有三个特点: 封装,继承以及多态
那代码里是怎样体现这些特性的呢?
比如,继承特性,通过写Car抽象类, 然后在具体向下编写其它子类
public abstract class Car {
public abstract String getVehicleName();
public abstract double getCapacity();
public abstract double getRentPrice();
public abstract int getRemainAmount();
}
然后呢,子类可以进一步根据父类调整自己需要.听慕课课堂老师小慕说,抽象类是对子类的约束,这一点还不是很理解,hah
另外两个类载客车类和载货车类,继承父类Car. 稀里糊涂就上来了. Car类中其他三个方法都一样,然而getCapacity()方法我去使用两个其他的来代替
public abstract class CarryVehicle extends Car {
...
public abstract double getMaxCarryWeight();
}
public abstract class PassengerVehicle extends Car {
...
public abstract int getMaxCapacity();
}
在再下一级的类的实现部分,就是依着具体的类来实现,这里就只举例一个类.
比如,一个AudiA4类