面向对象技术引论(复习题)[参考解答]

合集下载

C++面向对象技术复习题汇总(含答案)

C++面向对象技术复习题汇总(含答案)

C++面向对象技术复习题汇总(含答案)面向对象程序设计C++复习资料与答案第一、二、六、七章习题一、选择题1、系统约定C++源程序文件名的缺省的扩展名为()A、bccB、c++C、cppD、vcc2、面向对象的程序设计将数据与()放在一起,作为一个相互依存、不可分割的整体来处理。

A、对数据的操作B、信息C、数据隐藏D、数据抽象3、当一个函数无返回值时,函数的类型应定义为()A、voidB、任意C、intD、无4、对于C++的函数,正确的叙述是:A、函数的定义不能嵌套,但函数的调用可以嵌套B、函数的定义不能嵌套,但函数的调用不能嵌套C、函数的定义和调用都不能嵌套D、函数的定义和调用都可以嵌套5、下列语句中错误的是()A、int *p=new int(10);B、int *p=new int[10]C、int *p=new int;D、int *p=new int[40](0);6、假设已经有定义:const char *const name=”chen”;,下面的语句中正确的是:()A、name[3]=’a’; B、name=”lin”;C、name=new char[5]; D、cout<<name[3];< bdsfid="94" p=""></name[3];<>7、假设已经定义:char *const name=”chen”;, 下面的语句中正确的是:()A、name[3]=’q’; B、name=”lin”;C、name=new char[5]; D、name=new char(‘q’);8、假设已经定义:const char *name=”chen”;, 下面的语句中错误的是:()A、name[3]=’q’; B、name=”lin”;C、name=new char[5]; D、name=new char(‘q’);9、下面的类型声明中正确的是:( )A、int &a[4];B、int &*p;C、int &&qD、int i,*p=&i;10、假设定义了函数模板()templateT max(T x,T y){ return(x>y)?x:y;}并定义了int i;char c;错误的调用语句是:()A、max(i,i)B、max(c,c)C、max((int)c,i);D、max(i,c)11、模板的使用是为了()A、提高代码的可重用性B、提高代码的运行效率C、加强类的封装性D、实现多态性12、设有二个语句:int x[‘a’];cin>>x;则编译器认为()A、说明语句int x[‘a’]错B、二个语句都错C、语句cin>>x 错D、二个语句正确,没有语法错13、设有语句:void f(int a[10],int &x);int y[10],*py=y,n;则对函数f的正确调用语句是( )A、f(py[10],n);B、f(py,n)C、f(*py,&n)D、f(py,&n)14、在C++中实现封装是借助于()A、枚举B、类C、数组D、函数15、对于下面几个函数:(1) void f(int x,float y) {…… }(2) int f(int a,float b){…… }(3) int f(int i,int j){…… }(4) float k(int x){…… }是重载函数。

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

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

《面向对象程度设计》课程知识复习学习材料试题与参考答案一、单选题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)重载。

c++面向对象复习题答案版

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

面向对象复习题

面向对象复习题

第一部分面向对象方法概述一、填空题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。

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

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

一、填空题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、一个面向对象软件的体系结构通过它的成分对象及各对象之间的关系来确定,与传统的结构化开发方法相比,它具有( )的优点。

(完整)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++类中,有一种不能定义对象的类,这样的类只能被继承,称之为(抽象类),定义该类至少具有一个( 纯虚函数 )。

面向对象技术(答案)

面向对象技术(答案)

●下面关于面向对象方法中消息的叙述,不正确的是____(2)__。

(2)A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同正确答案:B【解析】在系统中既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此的通信,这样的方法才称为"面向对象的方法"。

●面向对象技术中,对象是类的实例。

对象有三种成份:____(3)____、属性和方法(或操作)。

(3) A. 标识B. 规则C. 封装D. 消息正确答案:A解析:对象有三种成份:标识(对象名)、属性和方法(或操作)。

●在面向对象技术中,类属是一种__(1)__机制。

一个类属类是关于一组类的一个特性抽象,它强调的是这些类的成员特征中与__(2)__的那些部分,而用变元来表示与__(3)__的那些部分。

(1)A.包含多态B.参数多态C.过载多态D.强制多态(2)A.具体对象无关B.具体类型无关C.具体对象相关D.具体类型相关(3)A.具体对象无关B.具体类型无关C.具体对象相关D.具体类型相关解析:在面向对象技术中,对象在收到信息后要予以响应。

不同的对象收到同一消息可产生完全不同的结果,这一现象称为多态。

多态有多种不同的形式,其中参数多态和包含多态称为通用多态,过载多态和强制多态成为特定多态。

参数多态应用比较广泛,被称为最纯的多态。

这是因为同一对象、函数或过程能以一致的形式用于不同的类型。

包含多态最常见的例子就是子类型化,即一个类型是另一类型的子类型。

过载多态是同一变量被用来表示不同的功能,通过上下文以决定一个类所代表的功能。

即通过语法对不同语义的对象使用相同的名,编译能够消除这一模糊。

强制多态是通过语义操作把一个变元的类型加以变换,以符合一个函数的要求,如果不做这一强制性变换将出现类型错误。

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

《面向对象技术引论》复习题
一、概念与术语
1. 对象:
在现实世界中,对象定义为:问题的概念和抽象的或具有明确边界和意义的事物;
在数据世界中,对象定义为:一组数据以及施加于这组数据上的一组操作;
从系统的观点出发,我们可以给对象作如下定义:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位(单元),一个对象是由一组属性和对这组属性进行操作的一组服务构成的。

2.持久对象:
生存期可以超越程序的执行时间而长期存在的对象称为持久对象。

换句话说:一个对象在程序运行结束后仍继续存在,则称该对象是持久的。

2.主动对象:
主动对象是一组属性和一组操作(服务)的封装体,其中至少有一个操作不需要接收消息就能主动执行(称为主动服务)。

3.被动对象:
被动对象(Passive object)是指其内部的操作需要通过外部消息驱动才能执行的对象。

可以看出被动对象必须工作在消息驱动环境中。

4.类:
定义1 一组具有相同性质(属性和操作)的对象的抽象。

定义2 类是对一组具有相同属性、操作、关系和语义的对象的描述。

定义3 具有相同属性和容许操作的一组对象的一般描述称为类。

5.主动类:
主动类的对象至少拥有一个进程或线程,因此它能够自主执行(能够启动控制活动)。

注意:主动类的对象所描述的元素的行为与其他元素的行为并发,这是它与一般类的唯一区别。

6.接口:
接口是描述一个类或构件的一个服务的操作集。

因此,接口描述元素的外部可见行为。

接口描述了一组操作的规格,而不是操作的实现。

图形上,用一个带有名称的圆表示接口。

7.用况:
用况是对一组动作序列的描述,系统执行这些动作将产生一个对特定的参与者有价值而且可观察的结果。

用况用于对系统语境和系统需求建模。

图形上,用一个包含名称的实线椭圆表示用况。

8.协作:
协作定义了一个交互,它是由一组共同工作以提供某协作行为的角色和其他元素构成的一个群体,这些协作行为大于所有元素的各自行为的综合。

因此协作有结构、行为和维度。

图形上,用一个仅包含名称(协作名)的虚线椭圆表示协作。

9.构件:
构件是系统中物理的、可替代的部件,它遵循且提供一组接口的实现。

构件是物理的、可替代的部件。

10.节点:
节点也是物理的,是在系统运行时存在的物理元素,它表示了一种可计算的资源,通常至少有一些记忆能力和处理能力。

11.一般类/ 12. 特殊类:
如果类A具有类B的全部属性和服务,而且具有自己特有的某些属性和服务,则类A叫做类B的特殊类,类B叫做的类A的一般类。

两者之间的关系称为“泛化”。

可以看出一般
类具有父类的特征,而特殊类具有子类的特征,特殊类可以共享一般类的性质。

13.关联(关系)
关联是对象之间连接(链)的抽象,用来描述对象之间的相互作用。

14.关联类:
关联类是一种具有关联特性和类特性的建模元素,可以将关联类看成是具有类特性的关联,或是具有关联特性的类。

15.依赖(关系):
依赖是两个事物之间的一种语义关系,其中一个事物(独立事物)的改变会影响另一事物(依赖事物)的语义。

16.泛化(关系):
泛化是事物(类)之间的一种一般/特殊关系,也即一般事物(一般类)和特殊事物(特殊类)之间的关系。

17.实现(关系):
是类元之间的语义关系。

18.链和链属性:
关联或相互作用表现出不同的类的对象实例之间的实际的或概括上的联系,称为“链”;19.聚合:
聚合用来表示事物之间的“整体/部分”关系,“整体”事物是一个较大的事物,它是由多个“部分”事物(较小的事物)组成的。

20.问题域:
问题域是指特定应用系统的应用领域,即在现实世界中由该系统进行处理的业务范围。

21.系统责任:
系统责任是指系统应该具备的职能,通俗地讲,即系统除能做什么之外,还应该作些什么。

22.消息:
在面向对象语境中,消息定义为向对象发出的服务请求(要求对象执行它其中的一个操作的请求)。

23.交互:
交互是发生在对象之间或对象内部的消息传递行为,它由在特定语境中共同完成一定任务的一组对象之间交换的消息组成。

24. 事件:
25. 事件流:
26.状态:
27.状态机:
状态机描述了一个对象或一个交互的生命内响应事件所经历的状态序列,即描述其状态变迁。

28.封装:
封装是对拥有结构和行为的一个抽象(对象)的元素进行划分的过程,封装完成抽象的契约接口和对象实施的分离。

29.继承:
特殊类拥有一般类的全部属性和服务(操作),称作特殊类对一般类的继承。

30 多态:
同一属性或操作在一般类和各个特殊类中具有不同的意义。

31.抽象:
即指通过思考进行分离的行为(CED).思考就是对事物性质进行观察与分析,而分离则是对分析结果中的一些细节的剥离,从而得到事物的最基本的性质。

32.角色:
角色是关联中(靠近它的)一端的类对另一端的类呈现的职责,可以说角色是关联的作用者。

33.限定词(修饰关联)
限定词是关联的一个特定的属性(而不是工作台或工件的属性,其实该属性与工作台及工件都有关,是使二者发生关联的数据之一),它的值划分了通过一个关联与一个对象相关的对象集。

34. UML的规则(命名、范围、可见性等):
1)命名:给事物、关系和图等建模元素命名。

2)范围:给一个名称以特定含义的语境。

3)可见性:表示元素的名称如何被其他元素看到和使用。

4)完整性:保证事物正确、一致地相互联系,体现事物之间的合理性和一致性。

5)执行:运行或模拟动态模型的含义是什么。

35. UML的公共机制(详述、修饰、扩展机制(构造型、标记值、约束)):
1)详述:详述是对UML图形符号的补充,对图形表示法的每一部分(图形符号)都可以附上一个详述,该详述提供了对构造块的语法和语义的文字叙述。

2)修饰:修饰是附加到元素的基本表示法上的文字或图形项,用于对元素规格说明的细节进行可视化。

3)通用划分:方法一:对类和对象的划分;方法二:接口和实现的分离。

4)扩展机制:三种机制来扩展语言的语法和语义,分别是:构造型(表示新的建模元素)、标记值(表示新的额建模元素属性)和约束(表示新的建模元素语言)。

二、思考题
1.为什么应用对象技术可以改变软件制造(生产)方式?
2.试述建模的重要性,为什么建模可以降低系统实现的复杂度。

3. 为什么面向对象方法能较好地管理复杂性并增强伸缩性。

4.何谓“软件复用”,为什么说面向对象技术对“软件复用”提供了卓有成效的支持?
5. “用况驱动的、迭代式的、增量”的开发方法的要点、优点、时间盒。

6. UML的三大建模元素(事物、关系、图)、各种结构事物的定义和用途。

7.“计划和细化”阶段的主要工作和主要活动。

8.“构造阶段”的主要工作和主要活动。

9.面向对象有哪些要素?为什么说“封装”是其最重要的要素?
10.何谓链属性,试述链属性不应置入关联两端的某一对象类中作为其属性的理由,请举例说明之。

11.系统分析阶段如何识别类和排除虚假类?(分别简述语法分析法和现实分析法的要点)。

12.系统分析阶段如何识别关联和排除虚假关联?(分别简述语法分析法和现实分析法的要点)。

13.简述描述类的基本特征(名称、属性等)并举例说明之。

14.软件维护的主要工作是什么,为什么说每一次维护可能又是一个较小的应用开发过程?15.为什么“继承”可以简化对问题的认识?
16. 面向对象系统中通常存在着持久对象、主动对象、和被动对象等三种对象,给出这三种对象的定义,并举例说明之。

17.解释“多态性”的基本含义,为什么“多态性”的实际应用必须建立在类的一般化层次结构上?
18.列举引起需求变化的主要因素,面向对象方法如何应对需求的不断变化?
19.何谓“多态性”,试举例说明“多态性”的应用。

20. 简述软件维护的主要工作,并说明其重要性。

三、设计部分
1. 根据给定的领域和场景写出问题陈述、建立用况模型,针对指定的用况,写出事件流。

2. 设计为词汇建模的类图、为数据库建模的类图、为简单协作建模的类图。

3. 按时间顺序对控制流建模型的步骤,以指定用况作为交互语境设计顺序图。

4. 按对象组织对控制流建模型的步骤,以指定用况作为交互语境设计协作图。

5. 对对象的生命期建模的策略和步骤,为指定类设计状态图。

相关文档
最新文档