刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

题目:阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。

【20分】

【说明】下图是某学校教师信息系统的一个类图,图中属性和方法前的"+"、"#"和"- " 分别表示公有成员、保护成员和私有成员。

其中:

(1)类Teacher表示教师类,类GradeLeader重新实现了类Teacher的方法 calSalary( )。

(2)方法calSalary( )根据每个教师的基本工资(basicSalary)、工作时间(workTime)来计算实际应发工资。方法getSalary( )调用方法calSalary( )获取实际应发工资并打印工资条。

(3)类School中的方法statSalary()中首先调用了该类的方法load( ),获取学校的教师的列表,然后调用了类Teacher中的方法calSalary( )。

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

请按照要求完成关于教师信息系统类图的测试题目。

使用微信搜索喵呜刷题,轻松应对考试!

答案:

(1)方法calSalary( )测试序列:Teacher( )—setBasicSalary( )—setWorkTime( )—calSalary( ) —getSalary( );(注:getSalary( )可以不写)

(2)类测试序列:Teacher-GradeLeader-School;

解析:

(1)根据题干说明,方法calSalary()是根据教师的基本工资和工作时间来计算实际应发工资的。因此,在测试该方法时,需要先创建教师对象,设置其基本工资和工作时间,然后调用calSalary()方法计算应发工资。最后,可以通过getSalary()方法来获取并打印工资条,以验证calSalary()方法的正确性。但是,getSalary()方法的调用并非必须的,因为我们可以直接通过其他方式验证calSalary()的结果。

(2)在测试类的顺序上,首先应当测试基础类Teacher,确保基本功能正确。然后测试继承自Teacher的GradeLeader类,验证其是否正确地重新实现了calSalary()方法。最后测试School类,因为School类使用了Teacher类和GradeLeader类的方法。这种测试顺序符合面向对象测试的基本原则,即先测试底层类和基础功能,再测试上层类和复杂功能。

创作类型:
原创

本文链接:请按照要求完成关于教师信息系统类图的测试题目。

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share