题目

阅读下列说明,回答问题1至问题3,将解答写在答题纸的对应栏内。

【说明】

   某汽车维修公司的工时计算模块每天定时根据系统登记的维修信息统计维修工的工时工资。维修工分为学徒、普通维修工和高级维修工三种,三种维修工有不同的时薪标准。

   图 4-1 是该模块的类图,图中属性和操作前的“+”、“#”和“-”分别表示公有成员、保护成员和私有成员。
image.png

其中:

(1)类Engineer表示普通维修工。

(2)类 studentEngineer 和 seniorEngineer 都重新实现了类 Engineer 的方法 calReward()。

(3)方法calReward()根据每个维修工每天的工时数(workTime)、时薪(hourSalary)来计算当天的工时工资。

(4)方法getReward ()调用方法calReward ()获取工时工资并打印显示。

(5)类System中的方法statReward()中首先调用了该类的方法load(),获取本系统工程师列表,然后调用了类Engineer中的方法calReward()。

现拟釆用面向对象的方法进行测试。

【问题1】(4分)

(1)图4-1所示的类图中,类System和Engineer之间是什么关系?

(2)类seniorEngineer重新实现了类Engineer的方法calReward(),这是面向对象的什么机制?

【问题2】(6分)

类 seniorEngineer 中的方法 calReward()和类 studentEngineer 中的方法 getReward() 是否需要重新测试?

【问题3】(10分)

(1)请结合题干说明中的描述,给出测试类Engineer方法calReward()时的测试序列。

(2)请给出图4-1中各个类的测试顺序。

(3)从面向对象特性考虑,测试类System中方法statReward()时应注意什么?

作答
本题暂不支持做答,请点击“解析“以对比解题思路
答案/解析
查看试卷及答案