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

简答题

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

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

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

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

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

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

【问题2】 (6分) 为了更方便函数checkIso的实现,程序员在Person类中增加了属性IsIso和方法checkDan,具体实现如下:

方法checkDan中判断该旅行者是否需要被隔离,并且把结果写入IsIso,在checkIso中直接读取旅行者的IsIso属性值就可以得出结论。

(1)这种实现方法破坏了面向对象的哪种机制?

(2)这种问题的测试需要在面向对象测试的哪个阶段实施?

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

答案:

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

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

解析:

第一问:在面向对象编程中,封装是一种重要的机制,它隐藏对象的内部状态和实现细节,只允许通过对象提供的方法进行访问和修改。在提供的实现方法中,直接修改了Person类的属性IsIso,而没有使用封装机制中的SET方法进行修改,因此破坏了面向对象的封装机制。

第二问:这种问题的测试需要在面向对象编程的测试阶段实施。因为面向对象编程中的测试主要包括单元测试、集成测试和系统测试等阶段,而这个问题涉及到面向对象编程中的类和方法的实现,需要在单元测试阶段进行测试,以确保类和方法的功能和性能符合预期要求。

创作类型:
原创

本文链接:【问题2】 (6分) 为了更方便函数checkIso的实现,程序员在Person类中增加了属性IsI

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

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

分享考题
share