版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、二、是非判断题C+/RUP/UML1. 使用C+语言只能编写面向对象的程序(×)2. UML中的活动图可以描绘面向对象分析和设计的全过程的工作流程()3. 使用C+语言不能同时编写出面向过程和面向对象的程序()4. RUP的开发周期由三个阶段所构成。(×)(四个阶段 初始阶段-细化-构造-交付)5. RUP中的系统行为是对其全部的外来激励进行作用和反作用。()6. RUP中的系统行为可以从对象模型中获得。(×)类1. 一个类必然具有生成对象的能力(×)2. 一个类也可以接收消息()3. 调用类方法必须向该类的对象发消息(×)4. 抽象类是不包含
2、任何属性的类(×)5. 当使用一个类方法时,消息是传向一个类的。()6. 只有属性的类也具有封装性。(×)7. 含有定性的属性的类就是抽象类。(×)关系1. 在包容关系中的被包容类也具有封装性()2. 关联关系只是一个动作的抽象(×)3. 关联关系中的作用名标识了该关联关系的终点对象的恰当地位()4. 候选键是具有关联关系的两个类中属性的一部分(×)5. 多重继承必然存在不确定问题(×)6. 继承关系中的成员覆盖就是重载的一种形式(×)(重构就是)7. 继承关系中也存在有关联关系()8. 复合包容关系中的被包容对象必须在包容
3、对象被击活的同时构造()9. 在关联关系的两端插入角色描述有助于对该关联关系的可读性()10. 确定候选键是对关联关系模型优化的一种手段()对象1. 面向对象设计方法的一个重要目的便是实现“可重用软件的设计”()2. 一个派生类对象的方法不能访问其继承的基类对象的某些成员是由于这些基类对象的成员不存在于派生类对象中(×)3. 一个派生类对象也可以向其继承的基类对象发消息()4. 面向对象的分析方法中存在自顶向下,逐步求精的过程(×)5. 一个对象的方法只能改变本对象的属性值。(×)6. 一个对象内存在另一个对象的关系称为包容关系。(×)(原因:有可能是派
4、生)7. 一个对象所呈现的不同状态称为多态。(×)8. 静态链接是在面向对象技术语言编译时建立的对象关系。()9. 在面向对象技术系统分析中,问题陈述是获取对象的重要来源。()10. 在面向对象技术系统分析中不使用数据流图。(×)11. 一个以限制性继承的派生类对象访问其继承的基类对象时必须通过消息手段。()状态1. 状态图是反映了整个系统动态运行时状态变化的图像工具()2. 状态的自动变迁是由于一个内部的事件所引发的(×)消息必须含有返回信息(×)三、选择题对象1. 面向对象技术是(A)A. 指导构建软件的系列法则 B. 一种探索可被认同的新理论C.
5、由Grady Booch 提出的一种动态的语言 D. 基于抽象与模块化原理的新技术2. 一个对象的状态(A)A. 是一个被称为状态的属性或属性集 B. 始终不发生常规的变化C. 被描述成对象的属性和关系(个体) D. 仅是一个对象可能存在的条件3. 一个可见的对象行为可以被模型化为该对象的(C)A. 属性 B. 责任 C. 操作 D. 方法4. 在一个对象系统内两个彼此间具有(C)结构的对象间的访问必须依赖消息手段A. 同类对象 B. 完备的聚合关系 C. 拓展继承关系 D. 友元5. 一个可见的对象行为可以被模型化为该对象的(D)A. 属性 B. 责任 C. 操作 D. 方法模型/建模6.
6、(B)项目对建模的要求度最小A. 立交桥 B. 沙发 C. 列车 D. 光盘7. 一个模型(C)A.对于十分理解其工作内容的团队成员可以不使用 B. 必须是有结构的和动作的体系C. 是一个实例化的简化 D. 一个构建精确计划的原由8. 最好的模型将与(B)联系在一起A. Java-Script代码 B. 实体 C. C+ D. 与面向对象开发者联系在一起的命题9. 建模的根本目的是(D)A. 有助于与一个系统的可视化B. 获得一个准备构建系统的模版C. 见证设计成果 D. 上述三条的总和UML/RUP10. 使用UML建模时(C)的处理不是其最基本特征A. 迭代与增量 B. 用例驱动 C. 弹
7、性设计 D. 以架构为核心11. 在UML中,使用(A)词汇表示可以将具有共同用途的模型元素组成多个组A. Package B. Class C. Encapsulation D. Generalization12. 以下RUP中的(D)视聚焦在结构问题上A. 用例 B. 处理 C. 实现 D. 逻辑13. Rational推出的RUP方法中所倡导的迭代式开发模式的最根本目的是为了(B)A. 降低开发成本 B. 降低开发风险 C. 减少开发时间 D. 节省开发的人力资源 14. 短语(B)可以最好的体现泛化关系A. is part of B. is a kind of C. is a repl
8、ica of D. is an inheritance of类15. 一个类(D)A. 是一个对象的封装 B. 表现为一个对象的分层结构 C. 是一个对象的实例 D. 是一个对象的抽象定义封装16. 封装(B)A. 允许对处于封装状态的内容进行直接处理 B. 涉及到信息的隐藏C. 会导致维护成本的提高 D. 在实现时所引用的改变会影响到客户端17. 封装(A)A. 是指一种对象组成结构的存在形式 B. 是指只有属性的对象组成结构的存在形式C. 是指只有方法的对象组成结构的存在形式D. 是指外界可以任意访问对象内成员的对象组成结构的存在形式多态18. 多态可以被描绘成(A)A. 在一个接口上隐藏
9、多个不同实现的形态 B. 继承 C. 信息放置形态 D. 泛化19. 多态是(A)A. 系统面对一个服务请求而设置了多个不同接口的形态B. 继承C. 信息放置形态D. 泛化关系20. 利用继承派生关系中的重构手段获得的新系统是为了(C)A. 仅仅延长该系统的寿命 B. 修正原系统内的缺陷C. 允许多个不同版本的功能可以同时使用 D. 掩盖原系统内的缺陷21. 将模块与计划合并为一体化的目的是(A)A. 在可管理的单元上降低一些复杂程度 B. 构建的模块便于交流C. 创建巨大且难于理解的系统 D. 系统的局部不能独立开发四、分析题1. 指出下列对象之间的关系² 软件工程与面向对象的分析
10、与设计方法( 包容 关系)² 矛与盾( 关联 关系)² 数字交换系统与通信系统( 继承 关系)² 人与心脏( 包容 关系)² Pentium芯片与Pentium IV芯片( 继承 关系)² 计算机与磁带机( 关联? 关系)² 多媒体与三维图形设备( 继承 关系)² 石油与汽油( 关联? 关系)² 道路与车辆( 关联 关系)² 煤炭与碳元素( 继承 关系)- 抽象类->继承² 地球与太阳( 关联 关系)² 家庭影院与音箱( 包容 关系)² 信息与印刷品( 继承 关系)
11、178; 钥匙与锁 ( 关联 关系)² 灯泡与灯丝( 包容 关系)² 计算机与打印机( 关联 关系)² 公司与雇员( 包容 关系)² 建筑体与墙( 继承 关系)2.试在下图给定的括号内写出已知关联联系得作用名(Role Name)。张三(通知人)(被通知人)李四人(老板)(雇员)3. 阅读下述C+程序后试在其右侧对应的对象图中填充描述其关系的对象模型符号4. 阅读下述C+程序后试在其右侧对应的对象图中填充描述其关系的对象模型符号,并试在题目的下方写出执行本程序的输出结果。 还是 执行本程序的输出结果是:1 B继承A & B包含A?A* p1 =
12、new B(1); à p1 à p = NULL A* p2 = new B(2, (A*)p1); à p2 à p à p15. 某大学推行完全学分制的学籍管理方式,其规定如下:学生在入学后的第一个学年内必须完成学绩分超过23分才能被允许(收到确认通知)进入第二学年的学习,否则将被按照肄业处理,进入第二学年后可以被允许(收到确认通知)进入下一个学年学习的最低学绩分数分别为27、30和30分(含对应分数者)。完成第四个学年的学绩分30分(含30)以上者可以准许毕业(获得毕业证书)。若在后三学年中的某一年中没有完成该学年规定的学绩分者,则可以
13、在对应学年中重新学习一年,若仍不能达到规定学绩分者的学籍将被自动按肄业处理。试据上述脚本绘制出对应的状态图。(9分)解:本题的状态图如下:第1学年第2学年第3学年第4学年毕业肄业23分27分30分30分第一次<27第二次<2723第一次<30第二次<30第一次<30第二次<30课程复习-补充题:一盏信号灯在三种不同的外电压作用下可呈现出不同的颜色:外电压为0V 时信号灯不亮;外电压为50V 时信号灯呈红色;外电压为100V 时信号灯呈黄色;外电压为150V 时信号灯呈绿色。在不改变外电压的条件下,该信号灯在呈现黄色或绿色20 秒后会分别自动变回红色或黄色。若
14、此时改变其外电压则信号灯的颜色仍会呈现为对应电压的颜色(如100V外电压的作用下变为黄色;在150V 外电压的作用下会变为绿色)。试绘出该信号灯颜色变化的状态图。解:(设时间条件为Time)本题的状态图如下:6. 已知下图所示的某系统中关于A和B的顺序图,图中给出了关于class A的3个不同状态,试绘制与该类对应的状态图,设没有明示的状态迁移视为可通达。解:经过对图中已知的消息逻辑,绘制出如下图所示的状态图:五、改写、补做与纠错题1. 下述C+程序结构为类B继承类A的派生结构,以不改变对象关系结构为前提,试在源程序的右侧写出只将基类变为类模板结构的全部C+代码,并修改程序内与其相关的其他部分
15、的配套语句。修改前:修改后:课程复习-补充题:设下述C+程序运行于字长为32位的硬件环境中,请在以下C+程序的右侧写出将该源程序变为类模板的对应程序代码。10-11考试题#include <iostream>using namespace std;template<class T1>class AT1 flag;public:A()A(T1 n)flag=n;void operator=(T1 x)flag=x;template<class T2>class B T2* p; static int sum; public: B(int n)p=new T2n
16、;sum=n; T2& operator(int m)return pm; static int count()return sum;int B<A<int> >:sum=0;void main()int x;cin>>x;B<A<int> >b(x);for (int i=0;i<x;i+)bx=i;cout<<B<A<int> >:count()<<endl;2. 下述C+程序存在若干处错误,以不改变程序结构为前提,请在出错的行首做一标记(如*),并将改动最少的正确语句
17、写在所在行下方或出错部位的右侧。更正错误如下:No.1 $ : No.2 $ :在标志处下一行添加如下语句No.3 $ :No.4 $ :No.5 $ :课程复习-补充题:1. +程序存在若干处错误,以不改变程序结构为前提,请在出错的行首做一标记(如*),并将改动最少的正确语句写在所在行或出错部位的右侧。例1:#include<iostream>using namespace std;class Aprotected:int i;public:A(int x):i(x)virtual int operator!()=0; virtual int operator()=0;/补充定义
18、虚基函数,使基类能访问派生类同名成员函数;class B:public Aint i;public:B(int x,int y):i(x),A(y)int operator!()return i;int operator()return A:i;void main()A* p=new B(2,1); cout<<"I="<<!(*p)<<endl; /Display:I=1cout<<"I="<<(*p)<<endl;/Display:I=1/由new B(2,1)知,只有B的基类A
19、中i为1,因此需要调用成员函数operator()访问基类A中i。原代码中调用operator!(),返回值是2,不合要求。此处(*p)等价于(*p).operator()例2:#include<iostream>using namespace std;class Aprotected:int i;public:A(int x):i(x)virtual int operator()=0; virtual int operator!()=0;/补充定义虚基函数,使基类能访问派生类同名成员函数;class B:public Aprotected:int i;A* p;public:B(
20、int x,int y):i(x),A(y) p=(A*)this;int operator!()return i;int operator()return p->i;/标准规则限制必须用基类强制int operator() return A:i; /强制使用基类中i;void main()A* p=new B(1,2);cout<<!*p<<endl;/Display:1cout<<*p;/Displaay:22. 下述C+程序尚未完成,试根据已知条件补上类A 中欠缺的成员函数。例1:#include<iostream>using nam
21、espace std;class Aint i;A* p;public:A():p(NULL)A(int x):i(x)p=new Ax;A& operator(int x)return px;/补充定义operator(int)void operator=(int x)i=x;/补充定义operator=(int)int operator!()return i;/补充定义operator!()A()if(p) delete p;/因有动态内存分配,补充定义析构函数,释放内存;void main()A a(5);for(int i=0;i<5;i+)ai=i;/此处等价于a.op
22、erator(i).operator=(i);cout<<!ai;/display result:01234/此处等价于a.operator(i).operator!();cin.get();例2:#include<iostream>using namespace std;class Aprotected:int i;public:A()cout<<"Please input the value:"cin>>i;bool operator = (const A& rhs) const return i=rhs.i;/补
23、充定义相等运算符,比较两个A对象;void main()A a,b;if(a=b)cout<<"The compared result is true."<<endl;else cout<<"The compared result is false."<<endl;另一种方法不知道对不对补充:2011.01.13考试题下面的程序中有一些错误,请对程序进行修改,使其能最好地完成预期功能。#include <iostream>using namespace std;class Aint i;publ
24、ic:A(int x=0):i(x)int get()return i;class B:public Apublic:B(int x=1):A(x)void operator!() cout<<"i="<<get()<<endl;class C:public Bint i;public:C(int x=2,int y):B(x),i(y)int operator+=(A& x)return i+=x.get();int get()return i;void main()A& p1=*(A*)new B();A& p2=*(A*)new C(10);!*p1;/结果:i=1cout<<"p2i="<<p2+=p1<<endl;/结果:p2i=11cout<<"p2i="<<p2.get()<<endl;/结果:p2i=11改过之后:/main.cpp#include <iostream>using namespace std;class Aint i;public:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年叉车违规载人(站人、坐人)的严厉禁止
- 2026年打印机耗材更换标准流程
- 2026年敬老院电热毯安全使用规定
- 2026年科技支持的国际学生心理健康服务的文化适应性
- 2026年学校家庭社会协同育人机制
- 2026年质量信息收集与质量问题预警系统
- 2026年高等院校年度实验室安全工作报告及检查整改
- 2026年远程工作作息时间管理技巧
- 2026年餐饮部食品安全管理制度
- 上海立达学院《安全管理工程》2025-2026学年第一学期期末试卷(B卷)
- 2026长江财产保险股份有限公司武汉分公司综合部(副)经理招聘1人笔试备考题库及答案解析
- 2026年4月自考10993工程数学(线性代数、概率论与数理统计)试题
- GB/Z 177.2-2026人工智能终端智能化分级第2部分:总体要求
- 中远海运集团2026招聘笔试
- 二次供水设施维护与安全运行管理制度培训
- 2025年日照教师编会计岗笔试及答案
- 2025年7月浙江省普通高中学业水平考试化学试卷(含答案)
- 汽车整车装配与调试课件:汽车保险杠的装配一
- 养老院食堂从业人员健康管理制度
- 捉弄混声合唱简谱
- 打造高效团队售前技术支持工作计划的制定与实施
评论
0/150
提交评论