《面向对象程序设计》第10章在线测试
- 格式:docx
- 大小:67.38 KB
- 文档页数:3
《面向对象程序设计》课程设计在当今数字化的时代,计算机程序设计的重要性日益凸显。
而面向对象程序设计作为一种重要的编程范式,在软件开发中发挥着关键作用。
本次课程设计旨在深入探究面向对象程序设计的原理、方法和应用,培养学生的编程思维和实践能力。
一、课程目标1、掌握面向对象的基本概念,如类、对象、封装、继承和多态等。
2、学会使用面向对象的方法进行问题分析和程序设计。
3、能够运用常见的编程语言(如 Java、C++等)实现面向对象的程序。
4、培养团队合作精神和解决实际问题的能力。
二、课程内容1、面向对象的基本概念类与对象的定义和关系封装的实现和意义继承的概念和分类(单继承、多继承)多态的表现形式(重载、覆盖)2、面向对象的设计原则单一职责原则开放封闭原则里氏替换原则依赖倒置原则接口隔离原则迪米特法则3、常用的设计模式创建型模式(工厂方法模式、抽象工厂模式、单例模式等)结构型模式(适配器模式、桥接模式、装饰器模式等)行为型模式(策略模式、责任链模式、观察者模式等)4、编程语言的实践选择一种主流的编程语言(如 Java 或 C++),进行实际的编程练习。
完成从简单的控制台应用程序到复杂的图形用户界面应用程序的开发。
三、课程实施1、理论教学通过课堂讲解、案例分析和讨论,让学生理解面向对象程序设计的基本概念和原理。
2、实践教学安排实验课程,让学生在实际操作中掌握编程语言的使用和面向对象程序的开发。
布置课程设计项目,要求学生以小组形式完成一个具有一定规模和复杂度的应用程序。
3、教学资源提供相关的教材、参考书籍和在线资源,方便学生自主学习。
利用在线教学平台,发布教学资料、作业和答疑。
四、课程考核1、平时成绩包括考勤、课堂表现、作业完成情况等。
2、实验成绩根据实验报告和实验项目的完成情况进行评定。
3、课程设计成绩从项目的需求分析、设计方案、代码实现、测试结果和团队协作等方面进行综合评价。
五、课程设计项目示例以“学生管理系统”为例,介绍面向对象程序设计的应用。
《面向对象程序设计》教案一、教案简介本教案旨在帮助学生掌握面向对象程序设计的基本概念、原理和方法,培养学生的编程能力和软件开发思维。
通过本课程的学习,学生将能够熟练运用面向对象的编程语言,如Java或C++,进行软件开发和设计。
二、教学目标1. 了解面向对象程序设计的基本概念,如类、对象、封装、继承和多态等。
2. 掌握面向对象程序设计的基本原则,如单一职责原则、开闭原则、里氏替换原则等。
3. 学会使用面向对象的编程语言进行程序设计和开发。
4. 培养学生的软件开发思维和团队协作能力。
三、教学内容1. 面向对象程序设计的基本概念1.1 类与对象1.2 封装1.3 继承1.4 多态2. 面向对象程序设计的基本原则2.1 单一职责原则2.2 开闭原则2.3 里氏替换原则2.4 接口隔离原则2.5 依赖倒置原则3. 面向对象的编程语言3.1 Java3.2 C++4. 面向对象的设计模式4.1 创建型模式4.2 结构型模式4.3 行为型模式四、教学方法1. 讲授法:讲解面向对象程序设计的基本概念、原理和编程方法。
2. 案例分析法:分析实际项目中的面向对象设计案例,让学生理解并掌握面向对象的设计思想。
3. 实践操作法:让学生通过编写代码,亲身体验面向对象程序设计的流程和方法。
4. 小组讨论法:分组进行讨论,培养学生的团队协作能力和解决问题的能力。
五、教学评价1. 课堂参与度:评估学生在课堂上的发言和提问情况,了解学生的学习兴趣和积极性。
2. 课后作业:布置相关的编程作业,检查学生对面向对象程序设计知识的掌握程度。
3. 项目实践:评估学生在团队项目中的表现,包括代码质量、设计思路和团队协作能力。
4. 期末考试:全面测试学生对面向对象程序设计知识的掌握情况。
六、教学资源1. 教材:推荐《Java面向对象程序设计》、《C++ Primer》等经典教材。
2. 在线资源:提供相关的在线教程、视频课程和编程练习平台,如慕课网、Coursera、LeetCode等。
C++面向对象程序设计教案(含多款)C++面向对象程序设计教案一、教学目标1.理解面向对象程序设计的基本概念,包括类、对象、继承、多态等。
2.掌握C++面向对象程序设计的基本语法和编程技巧。
3.能够运用面向对象的思想进行程序设计,解决实际问题。
二、教学内容1.面向对象程序设计的基本概念(1)类与对象类是对具有相同属性和行为的一组对象的抽象描述。
对象是类的实例,具有类定义的属性和行为。
(2)继承继承是面向对象程序设计的一个重要特性,用于表示类之间的层次关系。
子类可以继承父类的属性和行为,并在此基础上添加新的属性和行为。
(3)多态多态是指同一个操作作用于不同的对象时,可以有不同的解释和行为。
多态分为编译时多态和运行时多态。
2.C++面向对象程序设计的基本语法(1)类的定义与实现类定义包括类名、属性(成员变量)和方法(成员函数)。
类实现包括成员函数的定义。
(2)构造函数与析构函数构造函数用于创建对象时初始化成员变量,析构函数用于对象销毁时释放资源。
(3)继承与派生继承使用关键字class和public、protected、private访问限定符。
派生类可以添加新的成员变量和方法,也可以重写父类的方法。
(4)多态的实现多态可以通过虚函数、抽象类和接口实现。
虚函数使用关键字virtual声明,抽象类包含至少一个纯虚函数,接口是一种特殊的抽象类,只包含纯虚函数。
3.面向对象程序设计实例(1)设计一个简单的银行账户管理系统,包括账户类、储蓄账户类和信用卡账户类。
(2)设计一个图形类库,包括点、线、矩形和圆形等基本图形类。
三、教学方法1.讲授法:讲解面向对象程序设计的基本概念、语法和编程技巧。
2.案例分析法:通过分析实际案例,让学生理解面向对象程序设计的应用。
3.实践法:让学生动手编写代码,加深对面向对象程序设计的理解。
4.讨论法:组织学生讨论面向对象程序设计在实际项目中的应用。
四、教学评价1.课后作业:布置课后作业,检查学生对课堂知识的掌握程度。
北理工《面向对象程序设计》在线作业试卷总分:100 测试时间:--单选题多选题判断题、单选题(共38 道试题,共76 分。
)1. 下列关于C++函数的描述中,正确的是()。
A. 每个函数至少要有一个参数B. 每个函数都必须返回一个值C. 函数在被调用之前必须先进行声明或定义D. 函数不能自己调用自己满分:2 分2. 下列关键字中不能用来声明类成员访问权限的是()。
A. publicB. staticC. protectedD. private满分:2 分3. 在下列的各类函数中,______不是类的成员函数。
A. 构造函数B. 析构函数C. 友元函数D. 拷贝构造函数满分:2 分4. 派生类对象对它的基类成员中()是可以访问的。
A. 公有继承的私有成员B. 公有继承的保护成员C. 公有继承的公有成员D. 私有继承的公有成员满分:2 分5. 定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为()。
A. int*p=newint[30]B. int*p=newint(30)C. int*p=new[30]int*p=new[30]D. *p=newint[30]满分:2 分6. 多继承时对象的构造顺序中包含如下4步:①所有非虚基类的构造函数按照它们被继承的顺序构造;②所有虚基类的构造函数按照它们被继承的顺序构造;③所有子对象的构造函数按照它们声明的顺序构造;④派生类自己的构造函数体;这4个步骤的正确顺序是()。
A. ④③①②B. ②④③①C. ②①③④D. ③④①②满分:2 分7. 若函数原型为voidFun(intx,inty=6,intchar='a'),则下列调用错误的是()。
A. Fun(5)B. Fun(5, 'b')C. Fun(5,8)D. Fun(2,4, 'b')满分:2 分8. 在横线处填入语句()后,下列语句序列能够正确执行。
《面向对象程序设计》第05章在线测试A BC D、如果表达式a+b”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为(A BC D、如果表达式a++中的“”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为(A BC D、双目运算符的调用格式是(A BC D、一个程序中数组”,且程序中包含有语句“A BC DD、重载时,运算符的操作数个数可以改变。
2、在重载一个运算符时,其参数表中没有任何参数,这表明该运算符不可能是()。
A、作为友元函数重载的1元运算符B、作为成员函数重载的1元运算符C、作为友元函数重载的2元运算符D、作为成员函数重载的2元运算符3、下面不是运算符new重载的正确格式的是()A、void *类名::operator new(size_t size, int x, int y);B、int *类名::operator new(size_t size, int x, int y);C、void *类名::operator new(size_t size);D、void *类名::operator new(int x, int y,size_t size);4、类A中重载运算符new为成员函数的定义如下: void * operator new ( size_t size, int x, int y){…} 则使用重载new的方法错误的是:()A、new A;B、new (1,2,3);C、new (1,2,3)A;D、new A (1,2,3);5、下面关于类型转换运算符正确的说法是()A、重载类型转换运算符没有实际意义,因为C++中有强制类型转换机制。
B、重载类型转换运算符为类的成员函数的时候,没有返回值,也没有形参。
C、重载类型转换运算符可以实现任意两种对象之间的转换。
D、重载类型转换运算符可以把类对象转换为一般数据变量。
第三题、判断题(每题1分,5道题共5分)1、重载单目运算符为类成员函数的时候,重载运算符函数没有形参。
《面向对象程序设计》第06章在线测试A BC D 、模板参数在函数参数表中出现的次数不可能是(A BC D 、下面关于函数调用的顺序说法正确的是(A BC、函数调用时如果没有找到对应的函数模板生成模板函数就查找参数相同的函数D函数调用错误A class Tclass {…};B {…};C cla ss Tclass{D ss{…A BC、调用带有类模板参数的函数时对应的实参应该是该类模板实例化的模板类对象DC、模板函数是函数模板的重载函数D、函数模板是具体的函数2、关于模板之间的关系说法错误的是()A、C++中有函数模板和类模板B、函数模板是模板函数的实例化C、类模板是模板类的实例化D、对象是类模板的实例化3、关于函数模板的说法正确的是()A、函数模板是一组函数的描述B、函数模板编译后产生相应的执行代码C、函数模板实现类型参数化后能以同样的代码对不同类型的数据进行处理D、与函数模板相匹配的函数调用有编译系统生成模板函数4、已经有函数模板定义 template < class T> T fun(T x, T y){ return (x>y) ? x: y;} 下面的函数调用正确的是()A、fun(5,6)B、fun(5, 2.0)C、fun(‘a’, ‘c’)D、fun(‘a’, 4)5、关于函数模板的说法正确的是()A、函数模板生成的模板函数是重载的,但是函数模板不能重载B、C++程序中函数模板可以同名,但是形参个数和类型应有区别C、函数模板可以和普通函数重载D、函数模板不能重载第三题、判断题(每题1分,5道题共5分)1、函数模板中的每一个类型参数在函数参数表中必须至少使用一次。
正确错误、定义类模板时可以没有类型参数。
正确错误、模板类型参数名可以用来指定函数模板的返回类型。
正确错误、模板参数名在同一模板参数表中只能使用一次,但可在多个函数模板声明或定义之间重复使用。
正确错误、类模板中的无类型参数一定是常量。
《面向对象程序设计基础》自测题一、单项选择题1.在以下代码段中,正确的选项是【1】。
DA. ClassTestPrivate xAsIntegerEndClassPublicClassFrom1⋯⋯DimtAsNewTestt.x=10⋯⋯EndClassB.ClassTest PublicxAsIntegerEndClassPublicClassFrom1DimtAsTest( 缺Newt.x=5⋯⋯EndClassC.ClassTest Protected xAsIntegerEndClassPublicClassFrom1⋯⋯DimtAsNewTestt.x=10⋯⋯EndClassD.ClassTestPublicxAsIntegerEndClassPublicClassForm1⋯⋯DimtAsNewTestt.x=5⋯⋯EndClass2.在以下对于结构函数的说法中,错误的选项是2。
【】D A.结构函数本质上是名称为New的Sub过程B.一个类中能够有多个结构函数C.结构函数在对象实例化时由系统自动调用,程序不可以直接调用D.用户在定义类时一定在此中定义结构函数3.在下边的程序代码中,正确的选项是【3】。
C A.ClassTestPrivatexAsDoublePublicPropertyxx(AsDoubleGetReturnxEndGetSet(ByValValue 需加‘AsDoublex=ValueEndSetEndPropertyEndClassB.ClassTestPrivatexAsDoublePublicPropertyxx(‘不带ReadOnly或WriteOnly说明符的属性一定同时供给“Get”和“Set”Set(ByValValueAsDoublex=ValueEndSetEndPropertyEndClassC.ClassTestPrivatexAsDoublePublicReadOnlyPropertyxx(AsDouble GetReturnxEndGetEndPropertyEndClassD.ClassTestPrivatexAsDoublePublicPropertyxx(AsDouble ‘不带ReadOnly或WriteOnly说明符的属性一定同时提供“Get”和“Set”Set(ByValValueAsDoublex=ValueEndSetEndPropertyEndClass4.在以下对于继承的说法中,错误的选项是【4】。
《Java面向对象程序设计-继承和多态》教案第一章:引言1.1 课程简介本课程旨在帮助学生掌握Java面向对象程序设计中的继承和多态概念。
通过学习,学生将能够理解继承和多态的原理,并能够运用它们解决实际编程问题。
1.2 课程目标理解继承的概念和原理掌握如何使用继承来实现代码复用理解多态的概念和原理掌握如何使用多态来实现动态绑定第二章:继承2.1 继承的概念介绍继承的定义和作用解释为什么使用继承2.2 继承的语法介绍如何使用extends关键字实现继承解释继承中的构造函数和继承关系2.3 继承的实现演示如何使用继承来复用代码解释继承的层次结构和菱形继承第三章:多态3.1 多态的概念介绍多态的定义和作用解释多态的好处3.2 方法重写解释方法重写的概念和规则演示如何使用方法重写来实现多态3.3 方法重载解释方法重载的概念和规则演示如何使用方法重载来提高代码可读性第四章:继承和多态的案例分析4.1 案例一:动物和鸟类使用继承和多态来定义动物和鸟类的关系实现动物和鸟类的属性和方法4.2 案例二:形状和圆形使用继承和多态来定义形状和圆形的关系实现形状和圆形的属性和方法第五章:总结和练习5.1 课程总结回顾继承和多态的概念和原理强调继承和多态在面向对象程序设计中的重要性5.2 练习题提供一些练习题,以帮助学生巩固所学知识第六章:继承和多态的深入理解6.1 继承的类型解释接口继承和类继承的区别讨论继承的优点和缺点6.2 多态的应用探讨多态在日常编程中的应用场景分析多态如何提高程序的可扩展性和灵活性第七章:Java中的继承和多态实例7.1 继承实例:汽车和摩托车通过实例展示如何使用继承来创建汽车和摩托车类演示如何通过继承来扩展属性和方法7.2 多态实例:支付接口和具体的支付方式创建一个支付接口和多个具体的支付方式类演示如何使用多态来实现不同的支付方法第八章:继承和多态的陷阱与最佳实践8.1 继承的陷阱讨论继承可能带来的过度耦合问题解释如何避免继承的陷阱8.2 多态的陷阱分析多态可能导致的类型不匹配问题探讨如何安全地使用多态8.3 最佳实践提供使用继承和多态的最佳实践指南强调代码可读性和可维护性第九章:继承和多态在设计模式中的应用9.1 设计模式简介介绍设计模式的概念和重要性解释设计模式与继承和多态的关系9.2 继承和多态在设计模式中的应用案例通过案例分析展示继承和多态如何在设计模式中发挥作用讨论设计模式如何提高程序设计的质量和可复用性第十章:课程回顾与拓展学习10.1 课程回顾总结本课程的重点内容和关键概念强调继承和多态在实际编程中的应用10.2 拓展学习资源提供一些拓展学习的资源和建议鼓励学生继续深入学习面向对象程序设计的其他方面第十一章:继承和多态的实际应用案例11.1 案例分析:图形库的设计通过分析图形库的设计,展示继承和多态如何用于实现复杂的图形操作。
A BC Dab 为一个类,则执行 ( ) 。
A BC D、类的构造函数被自动调用执行的情况是在定义该类的A BC D、一段程序的定义如下,在函数的值改为34的语句应该为A BC D为一个类,个对象的动态数组的指针,则执行“A BC DD、另一个类的对象2、下面关于成员函数的说法错误的是()A、类定义中只能说明函数成员的函数头,不能定义函数体B、类中的函数成员可以在类体中定义,也可以在类体之外定义C、类中的函数成员在类体之外定义时必须要与类声明在同一文件中D、在类体之外定义的函数成员不能操作该类的私有数据成员3、下面关于静态数据成员的说法错误的是()A、静态数据成员是类的所有对象所共有的B、静态数据成员要在构造函数内初始化C、类的每个对象有自己的静态数据成员D、静态数据成员不能通过类的对象调用4、假定AB为一个类,则执行“AB *s=new AB(a,5);”语句的结果是A、动态生成对象AB赋值给变量sB、动态生成对象sC、如果对象AB中有公有成员a,则s->a可以访问该成员D、动态生成对象AB,该对象的地址赋值给变量s5、下面关于常对象的说法正确的是()A、在定义常对象时必须进行初始化。
B、常对象的数据成员不能被更新。
C、常对象不能作为类的成员。
D、通过常对象可以调用该对象的成员函数。
第三题、判断题(每题1分,5道题共5分)1、若Sample类中的一个成员函数说明如下: Void set(Sample &a) 其中Sample &a表示的含义是.a是类Sample的对象引用,用来作函数Set()的形参。
正确错误正确错误、某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。
正确错误、静态成员函数允许访问类的数据成员。
正确错误、建立类的对象时,先调用各个对象成员的构造函数,初始化相应的对象成员,然后才执行类的构造函数,初始化类中其他成员。
正确错误恭喜,交卷操作成功完成!你本次进行的《面向对象程序设计》第03章在线测试的得分为分20分),本次成绩已入库。
《面向对象程序设计》第02章在线测试
A B
C D
public
A B
C D
为一个类,则执行”语句时将自动调用该类的( )。
A B
C D
一段程序的定义如下,的语句应该为
A B
C D
为一个类,个对象的动态数组的指针,则执行
A B
C D
D、在一个类中可以说明具有类类型的数据成员
2、下列可以作为类的成员的是( )
A、自身类对象的指针
B、自身类对象
C、自身类对象的引用
D、另一个类的对象
3、静态数据成员的初始化不是在()中进行的。
A、构造函数
B、任何成员函数
C、所属类
D、全局区
4、下面关于构造函数的说法正确的是()
A、构造函数的函数名与类名相同
B、构造函数可以重载
C、构造函数不可以设置默认参数
D、构造函数必须指定类型说明
5、下面关于常对象的说法正确的是()
A、在定义常对象时必须进行初始化。
B、常对象的数据成员不能被更新。
C、常对象不能作为类的成员。
D、通过常对象可以调用该对象的成员函数
第三题、判断题(每题1分,5道题共5分)
1、某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。
正确错误2、静态成员函数允许访问类的数据成员。
正确错误
的声明中将类之间是一种
正确错误
静态数据成员不从属于任何一个具体对象,所以必须在构造函数对它初始化。
正确错误
建立类的对象时,先调用各个对象成员的构造函数,初始化相应的对象成员,然后才执行类的构造函数,初始化类中其他成员。
正确错误。
《面向对象程序设计》教学大纲一、课程概述面向对象程序设计是计算机科学与技术专业的一门重要的专业基础课程。
本课程旨在使学生掌握面向对象程序设计的基本概念、方法和技术,培养学生运用面向对象的思想进行程序设计和开发的能力,为后续的专业课程学习和实际项目开发打下坚实的基础。
二、课程目标1、知识目标理解面向对象程序设计的基本概念,如对象、类、封装、继承、多态等。
掌握面向对象编程语言(如 C++、Java 等)的语法和特性。
了解面向对象程序设计的基本原则和设计模式。
2、能力目标能够运用面向对象的方法进行问题分析和设计。
能够使用面向对象编程语言实现简单的程序设计和开发。
具备良好的代码规范和编程习惯,能够编写高效、可靠的代码。
3、素质目标培养学生的逻辑思维能力和创新意识。
提高学生的团队协作能力和沟通能力。
培养学生的自主学习能力和解决问题的能力。
三、课程内容1、面向对象程序设计基础面向对象的概念和特点对象和类的定义与使用类的成员变量和成员函数对象的创建和销毁2、封装与信息隐藏访问控制修饰符的使用类的封装实现构造函数和析构函数3、继承与多态继承的概念和实现基类和派生类的关系多态的实现机制(虚函数、动态绑定)4、模板与泛型编程函数模板和类模板模板的特化和偏特化5、异常处理异常的概念和分类异常的抛出和捕获自定义异常类6、标准模板库(STL)容器类(vector、list、map 等)迭代器的使用算法库(排序、查找等)7、面向对象程序设计实践综合案例分析与设计小组项目开发四、教学方法1、课堂讲授通过讲解、演示和示例,向学生传授面向对象程序设计的基本概念、原理和技术。
2、实践教学安排实验课程,让学生通过实际编程练习,巩固所学知识,提高编程能力。
3、案例教学通过实际案例的分析和讨论,引导学生运用面向对象的思想解决问题。
4、小组讨论组织学生进行小组讨论,促进学生之间的交流和合作,培养团队协作能力。
5、在线学习利用在线学习平台,提供丰富的学习资源,方便学生自主学习和拓展知识。
信息检索与利用题库一、填空题(1)1.使用谷歌搜索引擎查找包含\space station\的PDF文档,并编写检索公式:space station filetype:PDF二、判断题(83)KI检索系统可检索博士、硕士论文。
(√)2.布尔逻辑符号包括and、or和not。
(√)3.图书馆opac检索系统属二次文献数据库(√)ki中国知网数据库可以检索到博硕士论文(√)5.本文件是否为标准?请评判。
谭浩强。
C++面向对象编程[M]。
北京:清华大学出版社,2022。
√)6.在信息检索中,搜索词的准确表达是获得良好搜索结果的必要前提。
(√)7.在数据库的高级检索界面,用户可以限制多个文章信息细节所在的字段,还可以限制各个细节之间的布尔逻辑关系。
(√)8.在实际检索时,经常要不断地调整检索工具,或者调整检索表达式,才能获得满意的结果。
(√)9.在构建关键词时,我们尽量不要用自然语言,而要从自然语言中提炼关键词。
(√)10.在SCI数据库中,s运算符要求两个搜索词出现在同一子字段中(摘要字段中的一个句子是一个子字段),以及词序不限。
(√)11.元搜索引擎集成多个搜索引擎,为用户提供统一的搜索界面,同时将用户的搜索问题发送给多个搜索引擎引擎同时检索多个数据库。
(√)12.信息是客观事物普遍性的表征。
(√)13.网络信息检索语言是描述文献信息的内容和外部特征,并能表达检索问题的人工语言。
(√)14.网络信息检索语言按标准化程度可分为受控语言和自然语言。
(√)15.通用搜索引擎,如google、baidu、bing、yahoo,并不能囊括所有的网页。
(√)16.数据事实检索工具属于二次信息的范畴。
(√)17.数据库中有两种可供检索的字段,一种是反映内容的主题字段,另一种是反映形式特征的检索字段(√) 18目前,关键字语言是网络信息索引中使用最多的语言,更适合非专业搜索者。
(√)19.分类语言和主题语言属于内容特征识别。
一、单选题 (共50题,每题1分,共50分)1、Bridge(桥接)模式的意图是(C)。
A.将一个无法控制的现有对象与一个特定借口相匹配B.希望简化现有系统的使用方法。
你需要定义自己的借口C.将一组实现部分从另一组使用它们的对象中分离出来D.你需要为特定的客户(或情况)提供特定系列的对象2、在根据不同的机器选择设备驱动程序的案例中,以下叙述不准确的是(D)。
A.可以使用switch语句选择驱动程序B.可以使用继承来实现选择驱动程序,但它可能会产生类组合爆炸问题C.可以选择抽象工厂模式实现,且能避免组合爆炸问题D.使用继承的解决方案要比switch语句有更多的优势3、关于协作图的描述,下列哪个不正确(B)A.协作图作为一种交互图,强调的是参加交互的对象的组织B.协作图是顺序图的一种特例C.协作图中有消息流的顺序号D.在ROSE工具中,协作图可在顺序图的基础上按“F5”键自动生成4、到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。
A.Simula67语言B.Smalltalk语言C.Java语言D.统一建模语言(UML)的标准5、外观模式的作用是(B)。
A.当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能B.为了系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用C.保证一个类仅有一个实例,并提供一个访问他的全局访问点D.在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现6、在用例之间,会有三种不同的关系,下列哪个不是它们之间可能的关系(D)A.包含(include)B.扩展(extend)C.泛化(generalization)D.关联(connect)7、将一个类的接口转换成客户希望的另一个接口。
这句话是对下列哪种模式的描述(C)。
A.策略模式(Strategies)B.桥接模式(Bridge)C.适配器模式(Adapter)D.单例模式(Singleton)8、(D)就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。
《面向对象程序设计》第10章在线测试 剩余时间: 59:51
答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)
1、throw后面的表达式不可以是( )
A、常量 B、变量
C、对象 D、数组
2、关于异常的说法,正确的是( )
A、异常就是错误 B、有了异常处理机制,出现错误也没有关系
C、异常在C++中以消息的形式传递 D、程序中出现的错误都可以用catch块来捕捉处理
3、关于catch(。。。)的说法错误的是( )
A、catch(。。。)可以捕捉所有类型的异常 B、catch(。。。)必须放在所有catch块的后面
C、catch(。。。)可以避免出现没有被捕捉的异常 D、catch(。。。)不能单独使用
4、C++中异常处理的默认模式是( )
A、终止模式 B、恢复模式
C、挂起模式 D、暂停模式
5、关于重新抛出错误的说法是( )
A、重新抛出是指抛出原来的异常 B、用throw语句再次抛出原来的异常
C、只能在catch块中抛出 D、重新抛出时不能改变异常信号的值
第二题、多项选择题(每题2分,5道题共10分)
1、关于异常处理的说法正确的是()
A、将异常的检测与处理分离
B、异常就是错误
C、异常由函数调用引起
D、在上层调用函数中使用try检测函数调用是否引发异常
2、try子句的作用是( )
A、代码的保护段
B、如果预料某段程序代码可能发生异常,就将该段代码放在try子句之后
C、try子句产生异常
D、try子句中的throw表达式产生异常
3、catch子句的说法正确的是( )
A、catch子句后的复合语句是异常处理程序
B、catch子句捕获throw表达式抛出的异常
C、catch子句的异常类型说明只能是类型,不能是数值
D、catch子句的异常类型不能是自定义类
4、异常处理的执行过程是( )
A、程序执行try语句块内的保护段,如果发现异常则退出
B、如果在try语句内的程序段抛出异常,程序控制转入try块后的catch块
C、throw抛出的异常对象如果与catch子句异常类型的值一致,则执行对应的异常处理程序
D、如果没有匹配的catch子句,自动调用terminate终止程序
5、关于catch(„)语句的说法正确的是( )
A、catch(„)语句可以捕获任何异常
B、catch(„)语句可以放在catch子句的任何位置
C、catch(„)语句必须放在catch子句的最后
D、catch(„)语句捕获空的异常
第三题、判断题(每题1分,5道题共5分)
1、异常(Exception)是程序运行过程中,由于环境变化、用户操作失误以及其它方面的原因而产生的运行时不正常的情况.
正确 错误
2、抛出异常的模块只是报告某个地方存在错误,这个报告可以帮助异常处理器解决这个错误。
正确 错误
3、C++引入了关键字throw和catch,用于进行异常处理。
正确 错误
4、throw( )表示函数不会抛出任何类型的异常
正确 错误
5、在C++程序中如果不定义名字空间,就表示没有使用名字空间。
正确 错误