查看更多
当前 - 选择题 - 面向对象设计
简单
单选题
2025年5月第56题
#第二版教材
#必须掌握

在面向对象设计原则中,开闭原则(Open-Closed Principle)强调软件实体应当对扩展开放,对修改关闭,即在新增功能或需求变化时,尽量通过扩展现有代码而非修改已有实现。如果在实现新功能时,需要修改原有代码,则说明违反了开闭原则。下列哪一项做法违反了开闭原则(【修改已有代码来实现新功能】)。

问题(1)
浓缩知识点

开闭原则是面向对象设计的核心原则之一,核心要求是类、模块、函数等软件实体要对功能扩展保持开放,对已有代码的修改保持关闭,以此降低需求变更对原有稳定代码的影响,减少潜在bug风险。违反该原则的典型表现为直接修改现有代码来实现新功能或适配需求变化。符合开闭原则的常见实践包括通过继承父类扩展子类功能、基于接口开发不同实现类承载新功能、通过配置文件调整系统行为而非修改代码逻辑等,这些方式能在不改动原有代码的基础上灵活扩展系统能力。

正确答案
B

本题考察的是“开闭原则(Open-Closed Principle)”的核心理念。
开闭原则的定义是:
软件实体(类、模块、函数等)应对扩展开放,对修改关闭。
也就是说,我们应该通过扩展(如继承、实现接口等)来增加功能,而不是去修改已有的稳定代码
A. 通过继承扩展类功能:是符合开闭原则的做法,属于“对扩展开放”。
B. 修改已有代码来实现新功能:正是开闭原则中所禁止的行为,违反“对修改关闭”的要求,因此是正确答案
C. 使用接口隔离不同模块:这是接口隔离原则(ISP)的做法,符合开闭原则。
D. 通过配置文件调整系统行为:也是一种合规的“扩展”方式,没有修改已有代码,不违背开闭原则。
所以,本题的正确答案是:B. 修改已有代码来实现新功能

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有