NOIP 普及组初赛 · NOIP 2008 普及组初赛试题 第 16 题

选择题 · 答案 A · 考点:计算机发展史

← 整套速查表 NOIP 普及组初赛 全部真题

题目

面向对象程序设计(Object-Oriented Programming)是一种程序设计的方法论,它将对象作为程序的基本单元,将数据和程序封装在对象中,以提高软件的重用性、灵活性和扩展性。下面关于面向对象程序设计的说法中,不正确的是( )。

答案:A

考点

计算机发展史

解题思维

这道题考查面向对象程序设计(OOP)的核心特征及设计方法论。拿到题先别急着背定义,关键要区分“自顶向下”和“自底向上”到底是谁的专属技能。命题人最爱把这两个词和“面向过程”“面向对象”的位置对调,让你掉进陷阱。

常见错误

最容易错选A,因为看到‘自顶向下’就下意识觉得是主流设计方法,忘了OOP恰恰反其道而行之。另外,C选项列出的语言版本容易让人纠结,其实C++、Java、C#都是典型OOP语言;D选项提到的Simula和SmallTalk历史地位也是常考点,别被年代数字绕晕。总之,A就是把‘自底向上’说成‘自顶向下’,这是最直接的坑。

详细解析(节选)

考点定位:OOP的设计方法论与特征

本题直接考查面向对象程序设计(OOP)的核心概念,特别是它与面向过程在设计方法论上的根本区别。OOP的三大支柱是继承性(inheritance)、封装性(encapsulation)和多态性(polymorphism),这些在B选项中表述正确。支持这些特性的语言如C++、Java、C#等,C选项也没问题。D选项追溯历史:OOP雏形来自Simula,后经SmallTalk完善并标准化,SmallTalk至今仍是OOP语言的基础,这也是事实。

命题视角:为什么A是错的?

命题人特意把“自顶向下”和“自底向上”这两个术语的位置对调,制造了一个看似合理实则颠倒的选项。在软件工程里,自顶向下(top-down)是面向过程设计的经典方法:先定义整体框架,再逐层细化子模块。而面向对象恰恰采用自底向上(bottom-up):先设计具体的类与对象,通过组合、继承逐步构建系统。A选项声称“面向对象通常采用自顶向下”,这完全颠倒了事实,因此是本题唯一不正确的说法。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断