面向对象模拟试题(手机、PDA版)

合集下载

面向对象测试题及答案

面向对象测试题及答案

面向对象测试题及答案一、选择题(每题2分,共20分)1. 面向对象编程(OOP)的核心概念不包括以下哪一项?A. 类B. 继承C. 多态D. 过程2. 在Java中,以下哪个关键字用于定义类?A. classB. typeC. structD. interface3. 下列哪个选项不是Java中访问控制的关键字?A. publicB. privateC. protectedD. global4. 封装是面向对象编程的一个重要特性,它主要指的是:A. 将数据和操作数据的方法组合在一起B. 将所有数据都设为公开访问C. 只允许通过特定的方法访问数据D. 将数据和方法分离5. 在Java中,以下哪个不是构造方法的特点?A. 与类名相同B. 没有返回类型C. 可以重载D. 可以被继承6. 继承在面向对象编程中允许:A. 一个类只能继承一个类B. 一个类可以继承多个类C. 一个类可以继承多个接口D. 一个类可以同时继承多个类和接口7. 接口在Java中的主要作用是:A. 定义类B. 实现多继承C. 定义方法的实现D. 定义方法的签名8. 以下哪个是Java中实现多态的方式?A. 继承B. 接口C. 重载D. 重写9. 抽象类在Java中不能:A. 被实例化B. 包含抽象方法C. 包含具体方法D. 被继承10. 下列哪个不是Java集合框架中接口?A. ListB. SetC. MapD. Array二、简答题(每题5分,共30分)1. 简述面向对象编程的三大特性。

2. 解释什么是多态,并给出一个Java中多态的例子。

3. 什么是封装?封装在Java中是如何实现的?4. 什么是接口?接口和抽象类有什么区别?5. 什么是构造方法?构造方法的作用是什么?6. 什么是继承?继承在Java中是如何实现的?三、编程题(每题25分,共50分)1. 编写一个Java程序,定义一个名为`Car`的类,包含以下属性和方法:- 属性:品牌(String类型),颜色(String类型),速度(int 类型)- 方法:启动汽车(startCar),加速(accelerate),减速(decelerate)2. 在上述`Car`类的基础上,创建一个名为`ElectricCar`的子类,继承`Car`类,并添加一个额外的属性:电池电量(int类型),并重写`startCar`方法以显示电动汽车启动的信息。

面向对象程序设计-模拟测试

面向对象程序设计-模拟测试

《面向对象程序设计》课程模拟测试一、选择题1、C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是()A.面向过程B.面向对象C.安全性D.复用性2、关于虚函数的描述中,正确的是()A.虚函数是一个static类型的成员函数B.虚函数是一个非成员函数C.基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数D.派生类的虚函数与基类的虚函数具有不同的参数个数和类型3、下列关于构造函数的描述中,错误的是()A.构造函数可以设置默认参数;B.构造函数在定义类对象时自动执行C.构造函数可以是内联函数;D.构造函数不可以重载4、在以下关于C++语言的注释的叙述中,不正确的是()A.C++程序中,注释可用“/*”、“*/”形式表示,也可用“//”形式表示B.C++编译器在编译一个程序时,将跳过注释,不对其进行处理C.C++编译器在编译一个程序时,可发现注释中的单词拼写错误D.程序中注释的多少不会影响所生成的可执行文件的长度5、C++语言的跳转语句中,对于break和continue说法正确的是()A.break语句只应用于循环体中B.continue语句只应用于循环体中C.break是无条件跳转语句,continue不是D.break和continue的跳转范围不够明确,容易产生问题6、下列关于C++函数的说明中,正确的是()A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是return语句C.标准C++要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式7、在下面的一维数组定义中,哪一个有语法错误。

()A.int a[ ]={1,2,3} B.int a[10]={0}C.int a[ ] D.int a[5]8、面向对象系统不具有()特性A. 继承性B. 封装性C. 过程性D. 多态性9、下列静态数据成员的特性中,错误的是()A.说明静态数据成员前边加staticB.静态数据成员要在类体外初始化C.引用静态数据成员时,要在静态数据成员前加<类名>和作用域运算符D.静态数据成员不是一个类所有对象共享的10、若用数组名作为函数调用时的实参,则实际上传递给形参的是()A.数组首地址B.数组的第一个元素值C.数组中全部元素的值D.数组元素的个数二、填空题1、C++语言中的每条基本语句以作为结束符,每条复合语句以作为结束符。

2-面向对象基础测试题和答案

2-面向对象基础测试题和答案

2-面向对象基础测试题和答案共40道选择题,每题2.5分。

多选题有错则全错,全对才满分. 面向对象部分测试题1.下面描述函数重写错误的是CA. 要有子类继承或实现B. 子类方法的权限必须大于等于父类的权限C. 父类中被private权限修饰的方法可以被子类重写D. 子类重写接口中的抽象方法,子类的方法权限必须是public的2.关于封装下面介绍错误的是(D )。

A. 封装将变化隔离B. 封装提高重用性。

C. 封装安全性D. 只有被private修饰才叫做封装3.试图编译运行下面的代码会发生什么情况Dpublic class MyClass{static int i;public static void main(String[] args){System.out.println(i);}}A. 错误,变量i没有被初始化B. 输出nullC. 输出1D. 输出04.在Java中,下面对于构造函数的描述正确的是(D)。

A. 类必须显式定义构造函数B. 构造函数的返回类型是voidC. 构造函数和类有相同的名称,并且不能带任何参数D. 一个类可以定义多个构造函数5.下面Java代码的运行结果是(C )。

class Penguin {private String name=null; // 名字private int health=0; // 健康值private String sex=null; // 性别public void Penguin() { //是一般方法,不是构造方法health = 10;sex = "雄";System.out.println("执行构造方法。

");}public void print() {System.out.println("企鹅的名字是" + name +",健康值是" + health + ",性别是" + sex+ "。

面向对象编程考试

面向对象编程考试

面向对象编程考试(答案见尾页)一、选择题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. 什么是面向对象编程(OOP)?A. OOP是一种编程范式,它使用对象和类的概念来组织和表示程序中的数据和功能。

面向对象考试题(参考)

面向对象考试题(参考)

一、单项选择1。

程序设计中,首先在问题域中识别出假设干个〔〕A。

函数B。

类C。

文件D。

过程2。

定义类模板用关键字〔〕A。

const B.new C.delete D.template3。

运算结果类型一样的〔〕A.9.0/2.09.0/2B.9/2.09/2C.9.0/29/2D.9/29.0/2.04。

f1f2同一类两个成员函数,但f1不能调用f2,说明〔〕a.f1f2都是静态函数b.f1是静态,f2不是c.f1不是,f2是静态d.f1f2都不是静态函数5。

调用一成员函数时,使用动态联编的情况是〔〕A.通过对象调用一虚函数B。

通过指针或引用调用一虚函数C。

通过对象调用静态函数D。

通过指针或引用调用一静态函数6。

假定一个类构造函数为:“A(int aa=1,int bb=0){a=aa;b=bb;}那么执行"A x(4)"后,x.a和x.b值分别是:〔〕A。

1,0 B。

1,4 C。

4,0 D。

4,17。

在派生类中能直接访问基类的〔〕A。

公有成员,私有成员B。

保护成员,私有成员C。

不可访问成员,私有成员D。

公有成员,保护成员8。

不具访问权限属性的是:A。

非类成员B。

类成员C。

数据成员D。

函数成员9。

类定义中private,protected,public出现次数为〔〕A。

任意屡次B。

至多一次C。

public至少一次D。

至少一次10。

C++鼓励程序员将〔〕A。

数据操作分别封装B。

不同类型数据封装C。

数据操作封装在一起D。

不同作用操作封装在一起。

二、填空1。

C++中,最好用〔〕代替malloc。

2。

函数模板中template之后尖括号的类型参数冠以保存字〔〕。

3。

在IOS类中定义的用于格式控制的枚举变量中十、八、十六进制是dec,oct,()。

4。

如果重载了运算符+,那么相应运算函数名是〔〕。

5。

由static修饰的数据成员为该类的所有对象〔〕。

6。

为了实现多态性,派生类需要重新定义基类中的〔〕。

面向对象练习题

面向对象练习题

面向对象练习题一、选择题1. 在面向对象编程中,以下哪个概念不是面向对象的核心概念?A. 封装B. 继承C. 多态D. 函数2. 以下哪个选项是Java语言中实现多态的方式?A. 通过继承B. 通过接口C. 通过重载D. 通过重写3. 在面向对象编程中,一个类可以有多少个父类?A. 0个或1个B. 1个C. 多个D. 无数个4. 以下哪个关键字在Java中用于定义一个类?A. structB. classC. interfaceD. enum5. 以下哪个是Java中创建对象的关键字?A. newB. createC. instanceD. object二、填空题6. 在面向对象编程中,______ 是指将数据和操作这些数据的方法结合在一起。

7. 一个类可以包含______ 和______ 两种成员。

8. 封装的目的是______ 数据,并对外部隐藏内部细节。

9. 继承可以使得子类获得父类的______ 和______。

10. 多态性允许不同类的对象对同一消息做出响应,但具体______ 取决于对象的实际类型。

三、简答题11. 简述面向对象编程的三大特性,并举例说明它们在实际编程中的应用。

12. 解释什么是接口,并说明接口与抽象类的区别。

13. 描述如何使用Java实现一个简单的类,并说明如何创建该类的实例。

四、编程题14. 编写一个Java类`Person`,包含属性`name`和`age`,以及一个方法`introduce()`,该方法输出个人信息。

15. 假设你已经有一个名为`Animal`的抽象类,它包含一个抽象方法`makeSound()`。

编写一个名为`Dog`的类,继承自`Animal`,并实现`makeSound()`方法,使得`Dog`对象调用该方法时输出"Woof!"。

16. 创建一个Java程序,包含一个名为`Vehicle`的类,它有一个属性`speed`和一个方法`increaseSpeed(int increment)`。

面向对象程序设计模拟练习题(含答案)

面向对象程序设计模拟练习题(含答案)

面向对象程序设计模拟练习题(含答案)一、单选题(共50题,每题1分,共50分)1、下列关于JDK和JRE的说法中,错误的是()A、JDK是java开发核心组件,是用来编译解释java程序的核心组件B、JDK包括Java编译器、Java文档生成工具、Java打包工具等C、JRE是个单独的软件,所以安装JDK后,还需要单独安装JRED、JRE是java运行环境,用来支持java程序的运行正确答案:C2、下列File类的构造方法格式,错误的是()A、File(File parent)B、File(String pathname)C、File(String parent,String child)D、File(URI url)正确答案:A答案解析:A选项,正确的应该是File(File parent, String child)3、下列关于静态变量的描述中,错误的是()A、静态变量指的是被static修饰的变量B、静态变量是随着类的加载而加载C、静态变量可以被所有的实例对象共享D、静态变量同成员变量一样,都需要通过实例对象来调用正确答案:D答案解析:静态变量是通过“类名.变量名”“方式调用的。

4、下列对于Runtime的描述中,正确的是()A、每一个Java应用程序运行时都产生一个Runtime类实例B、Runtime实例可以将应用程序和运行环境相结合C、Runtime类有构造函数D、Runtime实例需要被创建后才可以通过getRuntime()方法获取正确答案:A答案解析:Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。

每次使用java命令启动虚拟机都对应一个Runtime实例,并且只有一个实例,因此该类采用单例模式进行设计,可以通过getRuntime()方法获得一个Runtime实例。

5、下列关于LinkedList类的方法,不是从List接口中继承而来的是()A、toArray()B、pop()C、remove()D、isEmpty()正确答案:B答案解析:pop()方法表示移除并返回此列表的第一个元素,是LinkedList特有的方法。

《面向对象程序设计》模拟试题及答案(2)

《面向对象程序设计》模拟试题及答案(2)

《面向对象程序设计》模拟试题及答案(2)《面向对象程序设计》模拟试题及答案(2)一、单项选择题(每小题2分,共20分)1. 字符串”a+b=12\n”的长度为()。

A. 6B. 7C. 8D. 92. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为()。

A. 0B. 4C. 8D. 63. 以下正确的描述是()。

A. 函数的定义可以嵌套,函数的调用不可以嵌套B. 函数的定义不可以嵌套,函数的调用可以嵌套C. 函数的定义和函数的调用均可以嵌套D. 函数的定义和函数的调用均不可以嵌套4. 设有定义“double array[10];”,则表达式sizeof(array)/sizeof(array[0])的结果为array数组的( )。

A.首地址B.元素个数C.每个元素所占的字节数D.总字节数5. 若使p指向包含30个整型元素的动态数组空间,则使用的定义语句为()。

A. int *p=new int[30];B. int *p=new int(30);C. int *p=new [30];D. *p=new int[30];6. 软件产品与其他软件产品组合成一个整体的难易程度叫做软件的()。

A. 可维护性B. 可复用性C. 兼容性D. 正确性7. 在多文件结构的程序中,通常把类的声明单独存放于()中。

A. 主文件B. 实现文件C. 库文件D. 头文件8. 在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则队首的后一个位置为( )。

A. first+1B. (first+1)%MSC. (first-1)%MSD. (first+length)%MS9. 假定一个类的构造函数为“A(int aa=1, int bb=0) {a=aa; b=bb;}”,则执行“A x(4);”语句后,x.a和x.b的值分别为( )。

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

2010-2011学年第1学期面向对象建模技术模拟试题(A卷)考试时间:2010年12月30日班级学号姓名请将答案写在答题纸上,写明题号,不必抄题,字迹工整、清晰;请在答题纸和试题纸上都写上你的班级,学号和姓名,交卷时请将试题纸、答题纸和草纸一并交上来。

一、选择题,每题1分,共计20分。

每个括号里的数字为该空的题号,从该题号对应的备选答案中选择最佳的一项,每空限填一个选项。

请按如下表格在答题纸上答此题。

1~5题C D B C C6~10题A B C B D11~15题A C A C C16~20题B D A B A在UML语言中,下图中的a、b、c三种图形符号按照顺序分别表示(1)。

a b c1.供选择的答案:CA. 边界对象、实体对象、控制对象B. 实体对象、边界对象、控制对象C. 控制对象、实体对象、边界对象D. 边界对象、控制对象、实体对象(2)设计模式定义了对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。

2.供选择的答案:DA. Adapter(适配器)B. Iterator(迭代器)C. Prototype(原型)D. Observer(观察者)Round-Trip Engineering能够帮助维持软件架构的完整性。

但 (3) 不是Round-trip Engineering的好处之一。

3.供选择的答案:BA. 发现和评估软件架构上的改动B. 为相同的接口提供不同的实现C. 在每次迭代中保持模型和代码的同步D. 传达被接受的架构改动下面4种符号在Rose中表示的模型元素分别为(4)4.供选择的答案:CA. 接口(Interface) 类操作(Operation) 时序图(Sequence Diagram) 类属性(Attribute)B. 类操作 (Operation) 接口 (Interface) 类属性 (Attribute) 时序图 (Sequence Diagram)C. 接口 (Interface) 类属性 (Attribute) 类操作 (Operation) 时序图 (Sequence Diagram)D. 时序图(Sequence Diagram) 类属性(Attribute) 接口(Interface) 类操作(Operation)在建立系统的用例模型时,首先应该确定系统的参与者。

以下问题中,对于确定参与者没有用处的是(5)。

5.供选择的答案:CA. 谁是系统的主要用户,即谁使用系统的主要功能B. 谁来管理、维护系统,以保证系统的正常运行C. 系统的功能应该如何实现D. 系统需要与哪些其他的系统交互(6)技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。

6.供选择的答案:AA. 泳道B. 分叉汇合C. 分支D. 转移UML 中的构件是遵从一组接口并提供一组接口的实现,下列说法错误的是(7)。

7.供选择的答案:BA. 构件应是可替换的B. 构件表示的是逻辑模块而不是物理模块C. 构件应是组成系统的一部分D. 构件与类处于不同的抽象层次下列对状态图描述不正确的是(8)8.供选择的答案:CA. 状态图通过建立类对象的生命周期模型来描述对象随时间变化的动态行为B. 状态图适用于描述状态和动作的顺序,不仅可以展现一个对象拥有的状态,还可与说明事件如何随着时间的推移来影响这些状态C. 状态图的主要目的是描述对象创建和撤销的过程中资源的不同状态,有利于开发人员提高开发效率D. 状态图描述了一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处状态对不同的事件作出反应在用ROSE创建的类图中,“ #”表示的可见性是(9)9.供选择的答案:B(A)Public (B)Protected (C)Private (D)Package在ATM自动取款机的工作模型中(用户通过输入正确的用户资料,从银行取钱的过程),下面哪个不是“Actor”(10 )10.供选择的答案:DA. 用户B. ATM取款机C. ATM取款机管理员D. 取款已知3个类A、B和C,其中类A由类B的一个实例和类C的一个或多个实例构成。

能够正确表示类A、B和C之间关系的UML类图是( 11 )。

11.供选择的答案:A构件图的组成不包括(12)12.供选择的答案:C(A)接口(B)构件(C)发送者(D)依赖关系(13)是用于把元素组织成组的通用机制13.供选择的答案:AA. 包B. 类C. 接口D. 组件类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是( 14) 关系。

14.供选择的答案:CA. 实现B. 继承C. 依赖D. 关联UML中的事物包括:结构事物,分组事物,注释事物和(15)15.供选择的答案:CA. 实体事物B. 边界事物C. 行为事物D. 动作事物在ROSE中,时序图和协作图(或通信图)通常建立在(16)下的use case realization 包中。

16.供选择的答案:BA. use case viewB. Logical ViewC. Component ViewD. Deployment view在 RSA中包含很多模型模板,供开发者在系统建模时选用。

(17)不是RSA提供的模型模板。

17.供选择的答案:DA. Analysis ModelB. Service Design ModelC. XSD ModelD. Eclipse plug-in Model(18) 反映类、接口或构件的内部协作,用于表达运行时的体系结构、使用模式及关系。

18.供选择的答案:AA. composite structure diagramB. deployment diagramC. use case diagramD. sequence diagram如下的短语(19)能最好地表示“泛化”关系。

19.供选择的答案:BA. Is a part ofB. Is a kind ofC. Is a replica ofD. Is an inheritance of下面的(20)模式将对象组合成树形结构以表示“部分-整体”的层次结构,并使得用户对单个对象和组合对象的使用具有一致性。

20.供选择的答案:AA. 组合(Composite)B. 桥接(Bridge)C. 修饰(Decorator)D. 外观(Facade)二、判断正误,每题1分,共计15分。

请按如下表格在答题纸上答此题。

1、在用例图中,Actor仅代表与目标系统进行交互的人。

2、 Controlled Unit是可以进行版本控制的模型元素,在ROSE中,模型文件本身被打包存储为.cat文件从而成为受控单元,Logical View和Use CaseView被打包成.mdl文件而成为受控单元。

3、RSA支持模型驱动(Model-Driven Development)的开发。

4、在状态图中,内部转换可导致进入转换和离开转换的执行。

5、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。

6、在两个用例中,如果一个用例拥有另一个用例的所有结构、行为和关系,并在此基础上增加了新的特性,则此两个用例之间可以用泛化关系表示。

7、UML适用于以体系结构为中心的开发过程,但不适合在具有迭代特征的开发过程中使用。

8、在UML状态图中,历史状态用于存储以前的状态。

9、请求接口(Required Interface)用于定义一个构件所提供的服务。

10、每个模型都是由一种图来刻画的。

11、Use Case Realization 和相应的Use Case之间是一种泛化关系。

12、分析机制(Analysis mechanisms)通常用于分析阶段,通过提供对系统复杂行为(如安全性、持久存储等)的简短描述来减少分析的复杂性并改善软件在各开发阶段一致性。

13、在RUP中,识别设计元素(Identify Design Elements)是精化体系结构(Refine theArchitecture)活动中的一个步骤。

14、在ROSE中,从Browser窗口删除图形元素和从Diagram窗口中删除模型元素的效果相同。

15、RSA中的浏览图(Browse Diagram)和主题图(Topic Diagram)同属于查询图(Query Diagram)。

三、完成下列各题,在答题纸上写出答案。

每题5分,共计40分。

1. 说明Sequence Diagram 和Collaboration Diagram (或中的Communication Diagram)的异同点。

(5分)相同:Sequence Diagram 和Collaboration Diagram 都是用于描述模型动态特性的交互图。

Sequence Diagram 和Collaboration Diagram从语意上讲是相同的,他们只是从不同的方面来描述一次交互。

不同:Sequence Diagram重点强调消息的时间顺序;Collaboration Diagram强调一次交互中各个对象之间的关系2. RUP中将软件生命周期划分为哪些阶段,每个阶段所完成的工作有哪些用活动图画出RUP中的分析和设计两个核心工作流所包含的活动和流程。

(5分)1.初始阶段Inception:不是需求分析,而是可行性分析2.细化阶段Elaboration:不是需求分析或设计过程,而是迭代式实现核心体系结构,缓解高风险问题3.构造阶段Construction:实现遗留下来的风险较低和比较容易的元素,准备部署4.移交阶段Transition:测试,部署3. 列出体系结构建模中“4+1”Views中都有哪5个View,并简单说明每个View所关注的内容。

(5分)4. 比较活动图和状态图,从描述重点和使用场合两个方面说明它们的不同之处。

(5分)Activity diagram和State diagram描述的重点不同:Activity diagram描述的是从activity到activity的控制流,而State diagram描述的是对象的状态及状态之间的转移。

Activity diagram和State diagram使用的场合不同:对于以下几种情况可以使用Activity diagram:分析用例、理解涉及多个用例的工作流、处理多线程应用。

对于下面的情况要使用State diagram:显示一个对象在其生命周期内的行为。

5. Stereotypes(版型)有什么作用给出两Stereotypes的例子。

(5分)答案:Stereotypes可以用来扩展UML元素的语意。

例子:6. 说明UML中的关联、泛化、实现、依赖四种关系各自的含义,并区分聚合(Aggregation)和组合(Composition)两种关系的不同。

相关文档
最新文档