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

简答题

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

【说明】为了有效控制疫情,需要记录所有人最后一次出行的信息。其中:

(1)类Travel记录了一次旅行的基本信息,包括出发地(Source)、 目的地(Des)、 15日内是否有境外旅行史(OverSeas) 和15日内是否去过高风险疫区(HighDanArea)。

(2)类HighTrain和AirPlane分别表示高铁旅行和飞机旅行,这两个类继承了类Travel的属性和方法。HighTrain 定义了自己的属性车厢号(CaseNo)和座位号(SeatNo)。AirPlane定义了自己的属性座位号( SeatNo)。

  (3)函数checkIso调用Travel的相关方法读取旅行者的出发地、目的地以及15日内是否有境外和高风险区域的信息,判断该旅行者是否需要被隔离。

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

根据提供的信息,回答以下问题: (1)为了更方便函数checkIso的实现,在Person类中增加了属性IsIso和方法checkDan,这种实现方法破坏了面向对象的哪种机制? (2)这种问题的测试需要在面向对象测试的哪个阶段实施?

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

答案:

(1)破坏了面向对象的封装机制。

(2)在面向对象编程的测试阶段进行。

解析:

第一问:在面向对象编程中,封装是一种重要的机制,它隐藏对象的内部状态和实现细节,只允许通过对象提供的方法进行访问和操作。在提供的代码中,方法checkDan中直接修改了Person类的属性IsIso,而没有通过封装的方式(例如通过setter方法进行修改),这破坏了面向对象的封装机制。

第二问:这种问题的测试需要在面向对象编程的测试阶段实施。这是因为面向对象编程强调代码的结构和对象之间的交互,测试阶段需要验证代码的功能和正确性,包括检查对象的属性和方法的正确性,以及对象之间的交互是否符合预期。因此,在测试阶段对这类问题进行测试是非常必要的。

创作类型:
原创

本文链接:根据提供的信息,回答以下问题: (1)为了更方便函数checkIso的实现,在Person类中增加

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

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

分享考题
share