2C部分:7 H# w; k' f! o. u& {
打开工程后,在src目录下的A2_2C包,该部分与A2_2A2B部分没有必然关联,可以单独提出使用,以下对类说明(另注:所有注释均为英文,本txt单独供给你使用):; q: m" f, ~3 c, t4 F o' c- G
DateTime.java:实验pdf给的时间类,在2C中我将其序列化,以便储存。; e7 `" M+ b8 l' H2 b
- |% d' C! w( ^7 R" j& i
StatusException.java:自定义状态异常,继承自Exception异常类,使用父类方法,当车辆操作不当时,抛出异常。例:车被租赁,则不能被服务;车为可用,则不能还车。, g1 r- g0 Y9 G% R
& a9 h6 Z! ~( I+ [' {OdometerException.java:自定义里程数异常,继承自Exception异常类,使用父类方法,当输入里程数小于原始里程数时,抛出异常。例,车被租赁时,里程数为100000,则还车时,输入里程数必须大于100000,否则报异常。(注:这里应该就是你2A数据不变的原因,因为输入的里程数不够大,所以只会报警告,数据不变)。 ) @* A$ N, P i- E' T ?- p5 b K# X+ B7 S1 w, U
Customer.java: 抽象客户类,有抽象方法:获得折扣。6 f* ^' L2 V! o
% H( p4 U/ g% Q# h
ICustomer.java:继承Customer类,个体客户,折扣计算方式为个人累积行车里程超过多少公里便可获得多少折扣,默认为超过100000折扣0.1,超过200000折扣0.2,注意,不包含100000或200000 。/ W* E) ]; y' i, Q. F9 |
; S' k! S) C& L6 y& B3 B; J
CCustomer.java : 继承Customer类,公司客户,折扣计算方式为与租赁公司的关系,直接设置,运行期间在初始化该类时的倒数第二参数即是,设值在0~1之间,我默认有写入两个该实体Cust05,Cust06,分别设值0.1与0.2。 " v8 [* D0 k; ] u& [$ @! G# f; y" K2 s1 o. s ~# \. e% I
vehicle.java:不做详述,普通车辆,相对2B,修改了部分方法内容,加入异常抛出。" F( p; x( Z$ [; v; _- n- g5 b