5面向对象复习题(参考模板)

合集下载

(完整word版)面向对象程序设计期末复习题及答案

(完整word版)面向对象程序设计期末复习题及答案

(完整word版)面向对象程序设计期末复习题及答案C++面向对象程序设计复习试题类型1、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

15题,每小题2分,共30分) [主要从作业题目中抽出来]2。

填空题。

(10题,每小题3分,共30分)3、阅读程序,写出程序运行结果。

【也称计算题】(3题,每小题5分,共15分)4、程序编制题【也称综合分析题】. (第1、2题每题8分,第3题9分,共25分)重点复习内容打*号是重点,打▲号是编程题出题范围*基本概念,对象,消息,类。

面向对象系统特性,封装性,继承性,多态性.*▲C++类的构成,类与对象,构造与析构,动态存储,类嵌套.静态成员,对象数组,友元。

*函数重载。

运算符重载。

*引用定义与引用参数* 基类与派生类的定义。

*基类及派生类的访问权(含派生类对基类的访问、通过派生类对象对基类的访问)和初始化。

多继承与虚基类.*多态性与虚函数.纯虚函数、抽象类。

*▲函数模板。

*▲使用类来定义对象并在程序中的应用题型样题填空题1。

假定AB为一个类,则执行“AB a[10];"语句时,系统自动调用该类的构造函数的次数为_________。

答案:102。

可以用p。

a的形式访问派生类对象P的基类成员a,其中a是_________。

答案:公有继承的公有成员3.能作为重载函数的调用的依据是_________。

答案:参数个数、参数类型4.在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流是否结束状态的操作函数名称是_________答案:eof5。

函数重载是指_________。

答案:两个或两个以上的函数取相同的函数名,但形参的个数或类型不同(完整word版)面向对象程序设计期末复习题及答案6。

在派生类中重新定义虚函数时必须在_________ 方面与基类保持一致。

答案:参数个数阅读程序例题【计算题】1.分析以下程序的执行结果#include〈iostream.h>class Sample{int x,y;public:Sample() {x=y=0;}Sample(int a,int b) {x=a;y=b;}~Sample(){if(x==y)cout〈〈“x=y”〈<endl;elsecout〈〈“x!=y"〈〈endl;}void disp(){cout〈〈“x=”<〈x〈<“,y”=<<y<<endl; }};void main(){Sample s1,s2(2,3);s1.disp();s2.disp();}解:x=0,y=0x=2,y=3x!=y x=y2.分析以下程序的执行结果#include〈iostream。

面向对象程序设计复习题文档

面向对象程序设计复习题文档

面向对象程序设计考试题型:1)选择题10题,共20分2)填空题10题,共20分3)程序阅读题3题,共15分4)程序填空题,10空,共20分5)简答题3题,共15分6)编程题1题,共10分一、选择题:1.属于C#语言的关键字( )。

A. abstractB. camelC. SalaryD. Employ答案:A2.C#语言中,值类型包括:基本值类型、结构类型和()。

A.小数类型B.整数类型C.类类型D.枚举类型答案:D3. 假定一个10行20列的二维整型数组,下列哪个定义语句是正确的()。

A. int[]arr = new int[10,20]B. int[]arr = int new[10,20]C. int[,]arr = new int[10,20]D. int[,]arr = new int[20;10]答案:C4.在类作用域中能够通过直接使用该类的()成员名进行访问。

A. 私有B. 公用C. 保护D. 任何答案:D5.小数类型和浮点类型都可以表示小数,正确说法:( )A. 两者没有任何区别B. 小数类型比浮点类型取值范围大C.小数类型比浮点类型精度高D. 小数类型比浮点类型精度低答案:C6.能作为C#程序的基本单位是( )。

A. 字符B. 语句C. 函数D. 源程序文件答案:B7. 可用作C#程序用户标识符的一组标识符是( )。

A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof答案:B8.引用类型主要有4种:类类型、数组类型、接口类型和()。

A.对象类型B.字符串类型C.委托类型D.整数类型答案:C9.StreamWriter对象的下列方法,可以向文本文件写入一行带回车和换行的文本的是()。

A.WriteLine()B.Write()C.WritetoEnd()D.Read()答案:A10.建立访问键时,如“新建(N)”菜单中的“N”键,需在菜单标题的字母前添加的符号是( )。

《面向对象程序设计》课程知识 复习 学习材料 试题与参考答案

《面向对象程序设计》课程知识 复习 学习材料 试题与参考答案

《面向对象程度设计》课程知识复习学习材料试题与参考答案一、单选题1.下列(C)的调用方式是引用调用。

A.形参和实参都是变量B.形参是指针,实参是地址值C.形参是引用,实参是变量D.形参是变量,实参是地址值2.假定CTest为一个类,并且有一无默认值的的有参构造函数和一无参构造函数,则执行“CTest objTest;”语句时将自动调用该类的(B)。

A.有参构造函数B.无参构造函数C.复制构造函数D.赋值构造函数3.假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a 的值,x为该类的一个对象,则访问x对象中数据成员a的格式为(D)。

A.x.aB.x.a()C.x->GetValue()D.x.GetValue()4.C++编译系统确定调用是具体对象的过程称为关联。

C++有(B)关联。

A.1种B.2种C.3种D.4种5.下面有关重载函数的说法中正确的是(C)。

A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同6.如果表达式a==b中的“==”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为(C)。

A.a.operator==(b)B.b.operator==(a)C.operator==(a,b)D.operator==(b,a)7.下列对继承关系的描述中,(D)是正确的。

A.在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的;B.在公有继承中,基类中只有公有成员对派生类的对象是可见的;C.在私有继承中,基类中只有公有成员对派生类是可见的;D.在私有继承中,基类中的保护成员对派生类的对象是可见的;8.定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为(A)。

A.int *p=new int[30];B.int *p=new int(30);C.int *p=new [30];D.*p=new int[30];9.在一个类中可以对一个运算符进行(D)重载。

面向对象程序设计考前复习题及答案

面向对象程序设计考前复习题及答案

简答题1、传统的结构化程序设计的优点和缺点是什么?优点:(1)这种程序设计方法力求算法描述准确。

(2)对每一子过程模块容易进行程序正确性证明。

缺点:(1)这种程序设计方法本质上是面向“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能直接反映人类求解问题的思路。

(2)程序代码可重用性差。

程序中除少数标准库函数外,每设计一个程序时,程序员几乎从零做起。

即使重用代码,通常也是通过拷贝或编辑重新生成一份。

(3)维护程序的一致性困难。

该种方法将数据与对数据进行处理的程序代码分离。

2、什么是对象?每个对象都具有属性(Attribute)和方法(Method)这两方面的特征。

对象的属性描述了对象的状态和特征,对象的方法说明了对象的行为和功能,并且对象的属性值只应由这个对象的方法来读取和修改,两者结合在一起就构成了对象的完整描述。

3、什么是消息?在面向对象的程序设计中,由于对象描述了客观实体,它们之间的联系通过对象间的联系来反映。

当一个对象需要另外一个对象提供服务时,它向对方发出一个服务请求,而收到请求的对象会响应这个请求并完成指定的服务。

这种向对象发出的服务请求就称为消息。

4、什么是多态性? 所谓多态性是指当程序中的其他部分发出同样的消息时,按照接收消息对象的不同能够自动执行类中相应的方法。

其好处是,用户不必知道某个对象所属的类就可以执行多态行为,从而为程序设计带来更大方便。

5、什么是面向对象的程序设计方法?这种方法将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。

 在OOP中,将“对象”作为系统中最基本的运行实体,整个程序即由各种不同类型的对象组成,各对象既是一个独立的实体,又可通过消息相互作用,对象中的方法决定要向哪个对象发消息、发什么消息以及收到消息时如何进行处理等。

6、面向对象方法的特点是什么?(1)OOP以“对象”或“数据”为中心。

由于对象自然地反映了应用领域的模块性,因此具有相对稳定性,可以被用作一个组件去构成更复杂的应用,又由于对象一般封装的是某一实际需求的各种成分,因此,某一对象的改变对整个系统几乎没有影响。

面向对象复习题

面向对象复习题

第一部分面向对象方法概述一、填空题1.对象的抽象是,类的实例是。

2.动态模型描述了系统的结构。

3.软件系统中存在两种控制流,外部控制流是系统中对象之间外部事件的事件流,有、和三种外部事件控制流。

控制流是一个处理内部的控制,均可结构化。

4.在C++和C中有一个函数,可以使用这个过程来说明构成系统主要对象的那些类的实例。

5.继承性是自动共享父类属性和的机制。

6.对象具有封装性,实现了的组合。

7.在面向对象方法中,信息隐藏通过对象的来实现。

类结构分离了和,从而支持了信息隐藏。

8.抽象是指强调实体的、,忽略一些无关紧要的属性。

类实现了对象的和的抽象,它是对象的共性的抽象。

9.子类只继承的属性和操作,称为单重继承。

10.对象的抽象是,类的具体化就是,也可以说类的实例是。

11.类具有,它是的行动的抽象。

12.对象具有状态,对象用来描述它的状态。

13.概念模型描述了系统的。

功能模型指出,动态模型确定,而对象模型确定。

功能模型由组成。

14.面向对象有三个基本要素,它们是、、。

15.面向对象技术在三个级别上促进了共享,它们是、、。

16.活动是一种有时间间隔的操作,它是依附于。

动作是一种瞬时操作,它是与了解在一起的操作。

17.封装性是指所有软件部件内部都有明确的以及清楚的。

每个软件部件都有友好的,软件部件的与分离。

18.主要的对象类型有、、和。

19.同一个类中的共享是指同一个类中的对象有着相同的和相同的。

20.结构化方法的本质是,其、可修改性和可重用性都比较差。

21.对象还有,用于改变对象的状态。

对象实现了和的结合。

22.面向对象方法认为系统是由应用域的组成。

23.对象具有状态,描述对象的状态用它的。

24.类具有属性,描述类的属性用。

25.一个方法有、和。

26.动态模型描述了系统的。

27.对象模型的主要元素是类,关联和。

28.通过这种机制和构造来实现不同应用中的信息共享。

29.面向对象程序设计语言与其它程序设计语言的主要区别是它具有。

面向对象期末考试题及答案

面向对象期末考试题及答案

面向对象期末考试题及答案一、选择题(每题2分,共20分)1. 面向对象编程中的三大特性是?A. 封装、继承、多态B. 抽象、继承、封装C. 继承、封装、多态D. 封装、抽象、多态答案:A2. 在Java中,哪个关键字用于定义类?A. classB. structC. typeD. interface答案:A3. 以下哪个不是面向对象设计原则?A. 单一职责原则B. 开闭原则C. 里氏替换原则D. 模块化原则答案:D4. 在面向对象编程中,构造函数的作用是什么?A. 用于创建对象B. 用于销毁对象C. 用于实现继承D. 用于实现多态答案:A5. 以下哪个是Java中的访问修饰符?A. privateB. publicC. protectedD. 全部都是答案:D...(此处省略剩余选择题)二、简答题(每题10分,共30分)1. 简述面向对象编程的基本思想。

答案:面向对象编程是一种编程范式,它将现实世界中的实体抽象成对象,这些对象具有属性和行为。

面向对象编程的基本思想是将数据和处理数据的方法结合在一起,形成对象。

通过对象之间的交互来实现程序的功能。

2. 解释什么是多态性,并给出一个简单的例子。

答案:多态性是指允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型而有所不同。

例如,在Java中,可以通过重载和重写来实现多态。

假设有一个动物类Animal,它有一个方法makeSound()。

然后有一个子类Dog,它重写了makeSound()方法。

当我们创建一个Dog对象并调用makeSound()时,会执行Dog类中的makeSound()方法,而不是Animal类中的。

3. 什么是封装?封装的好处是什么?答案:封装是将对象的数据(属性)和行为(方法)组合在一起,并隐藏对象的内部细节,只暴露出一个可以被外界访问的接口。

封装的好处包括:保护数据、减少错误、提高代码的重用性、增强模块化。

三、编程题(每题25分,共50分)1. 编写一个Java程序,实现一个简单的银行账户类Account,包含以下特性:- 私有属性:账户余额balance- 公共方法:存款deposit(double amount)、取款withdraw(double amount)、获取余额getBalance()答案:```javapublic class Account {private double balance;public Account() {this.balance = 0;}public void deposit(double amount) {if (amount > 0) {balance += amount;}}public void withdraw(double amount) {if (amount > 0 && balance >= amount) {balance -= amount;}}public double getBalance() {return balance;}}```2. 假设有一个名为Car的类,它有两个属性:品牌brand和颜色color。

(完整)c++面向对象复习题答案版要点

(完整)c++面向对象复习题答案版要点

一、填空题1.C++中有两种数据类型:( char )和( int long )可以使用signed修饰符。

在C++中,用数组、指针、和(引用 )作为函数参数,能够将参数值带回.2.为了降低函数调用的时间开销,建议将小的调用频繁的函数定义为(内联函数),方法是在函数类型前加上(inline)关键字。

3.面向对象的程序设计有四大特征,它们是抽象、封装、( 继承 )、(多态).4。

拷贝构造函数是在用一个对象初始化另一个对象时被调用,系统缺省的拷贝构造函数的工作方法是(把对象的每个数据成员的值都复制到新建立的对象中)。

5。

用new申请某一个类的动态对象数组时,在该类中必须能够匹配到(该类的)构造函数,否则应用程序会产生一个编译错误。

6.静态数据成员必须在类外进行初始化,且静态数据成员的一个拷贝被类的所有对象(共享).7。

在C++中,定义重载函数时,应至少使重载函数的参数个数或参数类型( 不同 )。

8。

在C++中,虽然友元提供了类之间数据进行访问的一种方式,但它破坏了面向对象程序设计的( 封装)特性。

9.预编译指令由三种,它们是:文件包含、( 宏定义 )和( 条件编译).10。

静态的成员函数没有隐含的( this ),所以,它们只能直接访问类的静态的数据成员。

11.在C++中,函数的参数有两种传递方式,它们是值传递和( 地址 )。

12.当非静态成员函数被调用时,该成员函数的( this)指向调用它的对象。

13。

拷贝构造函数使用( 引用)作为参数初始化创建中的对象。

14。

在公有继承的情况下,基类数据成员在派生类中的访问权限(不变 ).15.在C++中,构造派生类对象时,总是先从(基类 )的初始化开始的。

16。

当需要统计程序中某个类创建对象的个数时,需要给该类定义(静态数据)成员。

17。

在多个类之间有重复继承时,为避免被重复继承的基类数据成员在内存中有多个拷贝,应将该基类定义为( 虚基类)。

18.在C++类中,有一种不能定义对象的类,这样的类只能被继承,称之为(抽象类),定义该类至少具有一个( 纯虚函数 )。

面向对象技术Java期末复习试卷

面向对象技术Java期末复习试卷

期末复习试卷(五)一、程序题1.请根据UML图, 代码实现Person类、Student类和Volunteer接口旳定义。

解题规定: 编写测试程序, 创立一种名为”Tom”旳一年级学生, 这名学生参与了“北京青年志愿者协会”旳活动。

输出该学生旳姓名、年级及所属社团旳信息。

效果如下:interface Volunteer{public abstract String volunteer(String organization);}class Person{private String name;(1)2.根据给定旳GeometricObject类层次图, 分别实现GeometricObject、Circle和Triangle类。

规定:(2)按照类图, 定义各类旳数据域属性和措施。

(3)默认旳GeometricObject旳颜色为white。

默认旳Circle对象旳半径为10。

默认旳Triangle对象旳三边为(3, 4, 5)。

(4)GeometricObject类旳toString()措施, 返回对象旳颜色信息。

Circle和Triangle旳toString()措施, 覆盖父类旳toString(), 分别返回包括颜色信息、半径或边长旳信息。

(5)GeometricObject类实现parable接口, 覆盖public int compareTo()措施, 实现两个几何对象在周长上旳比较。

(6)Circle和Triangle类分别覆盖实现getPerimeter()。

编写一种顾客程序:(1)创立一种几何对象数组object;(2)分别寄存一种默认旳圆、一种半径为20旳圆、一种默认旳三角形和一种三边为(10, 20, 15)旳三角形;(3)计算这一组几何对象旳总周长并输出;(4)使用toString(),输出每个几何对象旳有关信息;(5)使用java.util.Arrays.sort()措施, 对几何对象数组中旳几何图形, 按周长进行排序, 并输出排序成果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、填空题1、面向对象的特征是、、和。

2、面向对象有三个基本要素,它们是、和。

3、类具有属性,它是的抽象,用来描述类的属性。

4、类具有操作,它是的抽象,用和实现来描述。

5、在类层次中,子类只继承一个父类的属性和方法,则称为。

子类继承了多个父类的属性和方法,则称为。

6、OMT方法是RumBaugh等人提出的面向对象开发方法。

开发工作的基础是对,然后围绕这些对象使用来进行独立于语言的设计。

7、Coad和Yourdon方法完成了从需求角度出发的认定工作,面向对象设计可以在此基础上,从设计的角度进一步进行的认定。

8、Booch方法通过分析问题陈述正文,将其中的映射为对象,将其中的映射为方法,从而为对象和方法的认定提供了一种简单的策略,虽然Booch方法原是面向的语言,但仍处于面向对象开发方法的奠基性地位。

9、不仅统一了Booch方法、OMT方法、OOSE方法的表示方法,而且对其作了进一步的发展,最终成为为国际对象组织(OMG)认可的同一建模语言。

10、在客观世界中有若干类,这些类之间有一定的结构关系。

通常有两种主要的结构关系,即和整体-部分关系。

11、在面向对象设计中存在三种内聚,即、和。

二、单选填空题1、对象是面向对象开发方法的基本成分,每个对象可用它本身的一组( )和它可以执行的一组操作来定义。

A. 服务B. 参数C. 属性D. 调用2、在面向对象方法中,把一组具有相同数据结构和相同操作的对象的集合定义为( )。

此定义包括一组数据属性和在数据上的一组合法操作。

A. 聚合B. 类C. 结构D. 主题3、面向对象技术的许多强有力的功能和突出的优点都来源于把系统组织成一个类的层次结构。

一个类的上层可以有父类,下层可以有子类。

这种系统的类层次结构的一个重要性质是( ),通过它,一个类可共享其父类的全部数据和操作。

A. 传递性B. 复用性C. 并行性D. 继承性4、一个面向对象软件的体系结构通过它的成分对象及各对象之间的关系来确定,与传统的结构化开发方法相比,它具有( )的优点。

A. 设计稳定B. 性能稳定C. 模块独立D. 硬件独立5、封装性是指所有软件部件都有明确的范围以及清楚的外部边界。

每个软件部件都有友好的( ),软件部件的内部实现和外部使用分离。

A. 使用方式B. 界面C. 调用D. 继承6、属性指的是类中对象具有的特性(数据)。

不同对象的同一属性可具有相同的或不同的( )。

A. 属性值B. 操作C. 服务D. 控制7、操作是类中对象所使用的一种功能或变换。

类中的各个对象可以共享操作,方法是类中操作的( )。

A. 别名B. 实现步骤C. 功能D. 脚本8、( )应当在应用分析之前进行,因为我们在了解问题之前应对问题敞开思想考虑,不应加以限制。

A. 论域分析B. 高层设计C. 实例建立D. 类的开发9、应用程序可以通过执行对象的操作来改变对象的属性值,但它必须通过( )的传递。

A. 接口B. 控制C. 消息D. 实例10、在软件开发过程中,抽取和整理用户要求并建立问题论域精确模型的过程叫做( )。

A. 生存期B. 面向对象分析C. 面向对象程序设计D. 面向对象设计11、Rumbaugh等人提出的对象模型化技术OMT把分析时收集到的信息组织在三种模型中,即对象模型、动态模型和( )。

A. 信息模型B. 控制模型C. 功能模型D. 行为模型12、对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构。

它是从现实世界实体的相互关系的角度来描述、表现对象间的相互关系。

该模型主要关心系统中对象的结构、属性和操作,使用了( )的工具来刻划。

A. E-R图B. 对象图C. 系统流程图D. 系统结构图13、组装关系是一种“整体-部分”关系。

在这种关系中,有整体类和部分类之分。

组装关系中最重要的性质是( ),它还具有逆对称性。

A. 局部性B. 完整性C. 一致性D. 传递性14、分类关系是“一般化-特殊化”关系。

一般化类又称为父类,特殊化类又称为子类。

分类关系和( )是同时存在的。

A. 传递性B. 逐步求精C. 继承性D. 全局性15、继承有单继承和多继承。

单继承指的是子类只有一个父类,在一个类层次结构中若只有单继承,则该类层次结构是树形结构。

多继承指的是子类可以有多个父类,在一个类层次结构中若有多继承,则该类层次结构是( )层次结构。

A. 树形B. 星形C. 网状D. 环形16、动态模型描述与时间和变化有关的系统的性质。

该模型描述了系统的控制结构,表示了瞬时的行为化的系统控制性质,它关心的是系统的控制、操作的执行顺序。

它从系统涉及的事件和对象的( )出发,表现了对象及对象间的相互行为。

A. 状态B. 属性C. 操作D. 控制17、动态模型描述的系统属性是触发事件、事件序列、状态、事件和状态的组织。

使用( )作为描述工具。

A. 状态图B. 顺序图C. 活动图D. 进程图18、功能模型用来说明值是如何计算的,表明值之间的依赖关系及其相关的功能。

数据流图有助于表示功能依赖关系,其中的处理对应于状态图中的活动和动作,数据流对应于对象图中的( )。

A. 实例连接B. 对象或属性C. 消息传递D. 关联19、操作与对象模型中的属性和关联的查询有关,与动态模型中的( )有关,与功能模型中的加工有关。

A. 事件B. 状态C. 变换D. 处理20、面向对象设计阶段中的高层设计是要确定实现系统的策略和目标系统的( )。

A. 体系结构B. 算法设计C. 类结构D. 类设计21、面向对象设计阶段中的类设计是要确定实现方案中的类、关联和接口形式及实现操作的( )。

A. 逻辑B. 顺序C. 控制D. 算法22、状态是对象属性值的抽象,状态指明了对象对( )的响应。

A. 输入事件B. 输入信息C. 输入数据D. 输入序列23、活动是一种有时间间隔的操作,它是依附于状态的操作。

动作是一种瞬时操作,它是与( )联系在一起的操作。

A. 时间B. 事件C. 控制D. 状态24、事件可以看成是信息从一个对象到另一个对象的单向传送。

因此要确定各事件的发送对象和接收对象。

( )用来表示事件、事件的接收对象和发送对象。

A. 事件追踪图B. 进程图C. 脚本D. 状态序列图三、选择填空题2、从供选择的答案中选出与下面有关面向对象范型的叙述最适合的答案,将其编号填入相应的括号内。

对象是面向对象范型的( A )。

每个对象可用它自己的一组( B )和它可以执行的一组( C )来表征。

应用执行对象的( C )可以改变该对象的( B )。

它的应用必须通过( D )的传递。

可以认为,这种( D )的传递大致等价于过程性范型中的函数调用。

某些语言提供了特殊功能,允许对象引用自己。

若一个对象没有显式地被引用,则可让该对象( E )。

供选择的答案:A. ①基本单位②最小单位③最大单位④语法单位B~C. ①行为②功能③操作④数据⑤属性D. ①接口②消息③信息④操作⑤过程E. ①撤消②歇着③缺省④隐式引用⑤引用自己3、从供选择的答案中选出与下面有关面向对象开发过程的叙述最适合的答案,将其编号填入相应的括号内。

在面向对象软件开发过程中特别重视复用。

软件构件应独立于当初开发它们的应用而存在。

在以后的应用开发中,可以调整这些独立构件以适应新问题的需要。

因此,应使得类成为一个( A )的单元。

这样就有一个( B )生存期问题。

( B )生存期有自己的步骤,与任一特定应用的开发( C )。

按照这些步骤,可以完整地描述一个基本( D )。

而不仅仅考虑当前正在开发的系统。

系统开发的各个阶段都可能会标识新的类。

随着各个新类的标识,( B )生存期引导开发工作逐个阶段循序渐进。

在设计与实现类时,应尽可能利用既存类提供为当前应用所需要的功能,利用既存类的三个可能途径是:( E )复用既存类;对既存类进行( F )以得到满足要求的类;重新开始进行开发。

供选择的答案:A. ①可复用②可测试③可适用④可靠B. ①应用②寿命③类④软件C. ①相关②密切相关③负相关④无关D. ①概念②实体③事件④事情E, F. ①修改②更新③照原样④演化7、从供选择的答案中选出与下面的叙述最适合的答案,将其编号填入相应的括号内。

从分析到设计的过程流如图所示。

一旦已经开发完成一个合理完整的( A )模型后,就要着手( B )的设计。

这需要描述( B )的特征,以准确表达待实现的用户需求,以及实现需求所必须的支持环境。

一旦定义了各个( B ),就开始( C )设计,这时,可利用CRC卡片,将属性转换为( D ),将关系转换为( E )。

供选择的答案:A~C. ①分析②系统设计③模块设计④子系统设计⑤对象设计⑥数据设计⑦操作设计⑧行为设计D~E. ①对象②数据结构③算法④消息传递⑤控制⑥并发处理⑦进程⑧过程8、从供选择的答案中选出与下面有关面向对象分析的叙述最适合的答案,将其编号填入相应的括号内。

由RumBaugh等人提出的一种面向对象方法叫做对象模型化技术(OMT),即三视点技术,它要求把分析时收集的信息建立在三个模型中。

第一个模型是( A ),它的作用是描述系统的静态结构,包括构成系统的对象和类,它们的属性和操作,以及它们之间的联系。

第二个模型是( B ),它描述系统的控制逻辑,主要涉及系统中各个对象和类的时序及变化状况。

( B )包括两种图,即( C )和( D )。

( C )描述每一类对象的行为,( D )描述发生于系统执行过程中的某一特定场景。

第三个模型是( E ),它着重于描述系统内部数据的传送与处理,它由多个数据流图组成。

供选择的答案:A,B,E:①数据模型②功能模型③行为模型④信息模型⑤原型⑥动态模型⑦对象模型⑧逻辑模型⑨控制模型⑩仿真模型C,D:①对象图②概念模型图③状态迁移图④数据流程图⑤时序图⑥事件追踪图⑦控制流程图⑧逻辑模拟图⑨仿真图⑩行为图9、从供选择的答案中选出与下面有关面向对象设计的叙述最适合的答案,将其编号填入相应的括号内。

在面向对象软件设计过程中,应按如下要求进行类的设计:只有类的共有界面的成员才能成为使用类的操作,这就是软件设计的( A )原则。

当且仅当一个操作对类的实例的用户有用时,它才是类公共界面的一个成员,这是软件设计的( B )原则。

由同属一个类的操作负担存取或加工类的数据,这是软件设计的( C )原则。

两个类之间的交互应当仅涉及参数表,这是软件设计的( D )原则。

每个派生类应该当做基类的特殊化来开发,而基类所具有的公共界面成为派生类的共有界面的一个子集,这是软件设计的( E )原则。

供选择的答案:A:①过程抽象②功能抽象③信息隐蔽④共享性⑤连通性B:①标准调用②最小界面③高耦合④高效率⑤可读性C:①数据抽象②低内聚③高内聚④低复杂度⑤低强度D:①显式信息传递②高内聚③低内聚④相互操作性⑤连接性E:①动态联编②异质表③信息隐蔽④多态性⑤继承性10、从供选择的答案中选出与下面有关面向对象程序设计的叙述最适合的答案,将其编号填入相应的括号内。

相关文档
最新文档