返回
当前 - 选择题 - 面向对象设计
题号:0120120500025
单选题
2012年5月第25题

某网站系统在用户登录时使用数字校验码。为了增强安全性,现在要求在登录校验码中增加字母或图片。如果直接修改原有的生成登录校验码的程序代码,则违反了面向对象设计原则中的(开闭原则)。

问题(1)
浓缩知识点

开闭原则是面向对象设计的核心原则之一,核心内容为软件实体(包括类、模块、函数等)应当对扩展开放,对修改关闭。遵循这一原则能够有效降低因修改原有代码而引发的功能故障、测试成本增加等风险,大幅提升系统的可维护性与扩展性。在实际开发中,通常通过抽象类或接口来定义功能规范,当有新需求产生时,只需基于抽象规范创建新的实现类来扩展功能,而非直接改动已稳定运行的原有代码。若直接修改已有功能的代码来适配新需求,就违背了开闭原则。此外,开闭原则还是里氏替换原则、依赖倒置原则等其他面向对象设计原则的重要基础,这些原则相互配合,共同构建健壮、易扩展的软件系统。

正确答案
A

本题考察的是面向对象设计原则
开闭原则:(Open-Closed Principle, OCP)的核心思想是软件实体应对扩展开放,对修改关闭。也就是说,在增加新功能时,应通过扩展(如增加新的类、方法)来实现,而不应该去修改原有代码。题干中的做法是直接修改原有验证码生成程序,这显然违反了开闭原则;里氏替换原则:该原则强调子类对象必须能够替换掉父类对象,并且程序的;最少知识原则:又称迪米特法则,强调一个对象应该尽量少地了解其他对象,降低耦合。题干中没有涉及过度依赖或对象间耦合的问题;组合复用原则:该原则强调尽量使用组合或聚合来实现代码复用,而不是单纯依赖继承。题干中没有涉及复用方式的问题。
本小问答案是 开闭原则。(Open-Closed Principle, OCP)的核心思想是软件实体应对扩展开放,对修改关闭。也就是说,在增加新功能时,应通过扩展(如增加新的类、方法)来实现,而不应该去修改原有代码。题干中的做法是直接修改原有验证码生成程序,这显然违反了开闭原则。
因此,选项 A 正确。

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