第一章 面向对象程序设计概论

转载 2018年04月16日 23:09:13

一、名词解释

抽象:面向对象方法中的抽象,是指对具体问题(对象) 进行概括,找出一类对象的公共性质并加以描述的过程。
封装:面向对象方法中的封装就是把抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。
消息:消息机制是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对象要求另一个对象实施某种操作的一个请求。

二、填空题

(1) 目前有 面向过程的结构化程序设计方法 和 面向对象的程序设计方法 两种重要的程序设计方法。  
(2) 结构化程序设计方法中的模块由 顺序 、 选择 和 循环 3 种基本结构组成。
(3)在结构化程序设计方法中,程序可表示为 程序=数据结构+算法 ; 而面向对象的程序设计方法,程序可表示为 程序=对象+消息。
(4)结构化程序设计方法中的基本模块是 过程 ; 而面向对象程序设计方法中的基本模块是  类  .
(5)面向对象程序设计方法具有  抽象性  、  封装性  、  继承性  和多态性等特点。

三、选择题(至少选一个,可以多选)

(1)面向对象程序设计着重于(B)的设计。

    A.对象        B.类        C.算法        D.数据


(2) 面向对象程序设计中,把对象的属性和行为组织在同 一个模块内的机制叫做(C)

   A.抽象         B.继承     C.封装        D.多态


(3)在面向对象程序设计中,类通过(D)与外界发生关系。

   A.对象         B.类        C.消息        D.接口


(4)面向对象程序设计中,对象与对象之间的通信机制是(C)

   A.对象         B.类        C.消息        D.接口


(5)关于C++与C语言的关系的描述中,(D)是错误的。
  A.C语言是C++的一个子集               B.C语言与C++是兼容的

  C.C++对C 语言进行了一些改进     D.C++和C语言都是面向对象的


(6) 面向对象的程序设计将数据结构与(A)放在一起,作为一个相互依存、不可分割的整体来处理。

  A.算法              B.信息                C.数据隐藏                 D.数据抽象


(7) 下面(A)不是面向对象系统所包含的要素。

  A.重载              B.对象                 C.类                          D.继承


(8)下面说法正确的是(BC)

A.将数据结构和算法置于同一个函数内,即为数据封装
B.一个类通过继承可以获得另一个类的特性
C.面向对象要求程序员集中于事物的本质特征,用抽象的观点看待程序

D.同一消息为不同的对象接受时,产生的行为是一样的,这称为一致性


(9)下面说法正确的是(AD)
A.对象是计算机内存中的一块区域,它可以存放代码和数据
B.对象实际是功能相对独立的一段程序
C.各个对象间的数据可以共享是对象的一大优点
D.在面向对象的程序中,对象之间只能通过消息相互通信


四、判断题

(1)在高级程序设计语言中,一般用类来实现对象,类是具有相同属性和行为的一组对象的集合,它是创建对象的模板。( 对 )

(2) C++语言只支持面向对象技术的抽象性、封装性、继承性等特性,而不支持多态性。( 错 )

(3)面向对象程序设计中的消息应该包含“如何做”的信息。( 错 )

(4) 一个消息只能产生特定的响应效果。( 错 )

(5)类的设计和类的继承机制实现了软件模块的可重用性。( 对 )

(6) C++语言和Java语言均不是一个纯正的面向对象的程序设计的语言。(错)

(7)学习C++语言是学习面向对象的程序设计方法的唯一途径。( 错 )

(8)在C++语言中,类是支持数据封装的工具。( 对 )


五、简答题

(1) 什么是结构化程序设计方法? 它有哪些优点和缺点?
答:结构化程序设计方法着眼于系统要实现的功能,从系统的输入输出出发,分析系统要做哪些事情,进而考虑如何做这些事情,自顶向下地对系统的功能进行分解,来建立系统的功能结构和相应的程序模块结构,有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。随着程序规模与复杂性的增长,这种面向过程的结构化程序设计方法存在明显的不足之处。首先是数据安全性问题。由于数据被每个模块所共用,因此是不安全的,一旦出错,很难查明原因。其次是可维护性及可重用性差。它把数据结构和算法分离为相互独立的实体,一旦数据结构需要改变时,常常要涉及整个程序,修改I 作量极大并容易产生新的错误。每一种相对于老问题的新方法都要带来额外的开销。另外,图形用户界面的应用程序,很难用过程来描述和实现,开发和维护也都很困难。


(2) 什么是面向对象程序设计方法?它有哪些优点?
答:面向对象的程序设计方法中,将程序设计为一组相互协作的对象而不是一组相互协作的函数。在程序中,属性用数据表示,用来描述对象静态特征;行为用程序代码实现,用来描述对象动态特征.可见,在面向对象的程序设计方法中,对象是数据结构和算法的封装体。对象之间存在各种联系,它们之间通过消息进行通信。程序可表示为:程序对象+消息在面向对象程序设计中应着重于类的设计。类正是面向对象语言的基本程序模块,通过类的设计来完成实体的建模任务。类通过 一个简单的外部接口与外界发生关系。一个类中的操作不会处理到另一个类中的数据,这样程序模块的独立性、数据的安全性就有了良好的保障。程序的执行取决于事件发生的顺序,由顺序产生的消息来驱动程序的执行。不必预先确定消息产生的顺序,更符合客观世界的实际。并且面向对象程序设计方法提供了软件重用、解决大问题和复杂问题的有效途径,具有抽象性、封装性、继承性和多态性等特点。


(3) 结构化程序设计方法与面向对象程序设计方法在对待数据结构和算法关系上有什么不同?
答:结构化程序设计方法中,把数据结构和算法分离为相互独立的实体: 而在面向对象程序设计中,数据结构和算法封装在一起,结合成一个独立的单位。即对象。并尽可能隐蔽对象的内部细节。对象的私有属性只能由这个对象的行为来读取和修改,与外部的联系通过公有行为充当外部接口。

2016软考网络工程师实验视频课程-第一章 计算机网络概论

-
  • 1970年01月01日 08:00

数论概论 第一章 什么是数论

      校图书馆新馆开了之后我今天第一次去,看到了一本《数论概论》,果断借了,以前学数论总是断断续续,做题需要用什么就马上学什么,没有系统性的学习,所以,我想把这本书看完,顺便写下点心得想法。  ...
  • magicnumber
  • magicnumber
  • 2011-05-10 00:00:00
  • 2511

数据库系统原理之第一章数据系统基本概念总结

昨天,听了米老师的讲课之后突然对原本“晕晕乎乎”的数据库有了新的认识,一下便是听了米老师的讲解之后又结合我自己的理解还有小童师姐的帮助下对《数据库系统原理》第一章的认识:     首先,将第一章分了...
  • u013054770
  • u013054770
  • 2014-08-26 20:33:06
  • 1261

数据库第一章习题

1.数据与信息有何区别,有何联系? 答:数据是一组对客观事物定性或定量描述的原始物理符号的集合,包括文本、图形 、图像、声音等形式,也是数据库存储和加工的基本对象。信息是一种已经被加工为 特定形...
  • hsk256
  • hsk256
  • 2015-03-12 18:16:55
  • 747

《信息安全概论》总结(1)

1、此书是段云所、魏仕民、唐礼勇、陈钟所写,高等教育出版社 2、信息安全的基础理论和技术原理,包括密码理论与应用、身份认证、访问控制、审计、安全脆弱性分析、入侵检测、防火墙、安全协议等 3、信息数...
  • spfLinux
  • spfLinux
  • 2017-03-06 22:40:21
  • 325

《数论概论》读书笔记(第一章) 什么是数论?

数论是纯粹数学的分支之一,主要研究整数的性质。 整数可以是方程式的解(丢番图方程)。有些解析函数(像黎曼ζ函数)中包括了一些整数、质数的性质,透过这些函数也可以了解一些数论的问题。透过数论也可以建...
  • liangzhaoyang1
  • liangzhaoyang1
  • 2017-03-18 16:44:34
  • 9760

数据库系统概论-第5版-完整版-详细答案

  • 2018年03月14日 11:01
  • 55.45MB
  • 下载

数据库系统概论之第一章绪论

数据库系统概论
  • u010705932
  • u010705932
  • 2016-09-11 21:16:47
  • 220

软件工程概论学习笔记(第一章软件与软件工程的概念)

软件是计算机系统中 与硬件相互依存的另一部分,包括程序,数据及其相关文档的完整集合。 其中,程序事先事先设计的功能和性能要求执行的指令序列 软件的分类: 1系统软件 系统软件是与计算机...
  • yangchengri
  • yangchengri
  • 2017-12-27 21:51:36
  • 62

【实现】《算法概论》P18 第一章 数字的算法——除法(图1-2)

今天上课时有学生问起书中某个地方不明白,课间我匆忙看了一下,也没有一下子搞清楚由来。问题如下:怎样计算除法的商q,和余数r。 运行结果如下: pac...
  • dingyouzhuan0221
  • dingyouzhuan0221
  • 2014-03-27 20:39:32
  • 1223
收藏助手
不良信息举报
您举报文章:第一章 面向对象程序设计概论
举报原因:
原因补充:

(最多只允许输入30个字)