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

简答题

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

【说明】

下图是某医院信息系统的一个类图,图中属性和方法前的"+"、"#"和"- " 分别表示公有成员、保护成员和私有成员。

其中:

(1) 类Doctor表示医生类,类ChiefDoctor和AssistantDoctor重新实现了类Doctor的方法 calSalary(  )。

(2)方法calSalary( )根据每个医生的工作时间(workDays)、时薪(hourSalary)来计算工资。方法getSalary()调用方法calSalary( )获取工资并打印工资条。

(3)类Manager中的方法statSalary()中首先调用了该类的方法load(  ),获取医院的医生列表,然后调用了类Doctor中的方法calSalary( )。

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

请根据给出的类图和说明,回答以下问题。 (1)类AssistantDoctor重新实现了类Doctor的方法calSalary(),这是面向对象的哪种机制?是否需要重新测试该方法?

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

答案:

(1)、多态机制;需要重新测试,因为在子类中重新进行了定义,所以需要重新测试;

(2)、不需要重新测试,因为子类继承了父类的方法,只要父类的该方法通过测试了即可。

解析:

(1)类AssistantDoctor重新实现了类Doctor的方法calSalary(),这是面向对象的多态机制。多态允许使用父类的引用调用子类的方法,因此在面向对象的测试过程中,当子类重新定义了父类的方法时,需要重新测试该方法以确保其正确性。

(2)类AssistantDoctor中的方法setWorkDays()继承了其父类Doctor的方法setWorkDays(),这种情况下不需要重新测试该方法。因为子类继承了父类的方法,只要父类的该方法通过测试,子类的方法也会继承同样的功能并同样通过测试。

创作类型:
原创

本文链接:请根据给出的类图和说明,回答以下问题。 (1)类AssistantDoctor重新实现了类Doct

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

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

分享考题
share