2010-2011学年第一学期面向对象技术及应用试卷A卷参考答案
面向对象的程序设计A卷答案
学年第学期考试科目:面向对象的程序设计考试类型:(闭卷)考试时间:120 分钟学号姓名年级专业一、选择题(单选,每题2分,共30分)二、判断题(正确的画勾,错误的画叉)三、简答题1、什么是标识符?什么是保留字?java中标识符的命名规则是?(6分)答:编写程序的时候使用的各种单词称为标识符。
在编程语言中有特殊意义的标识符称为保留字。
Java语言中程序自定义的标识符何以是任何字母、数字、下划线(_)和美元符号($)的组合,但不能以数字开头。
2、按要求完成下面问题。
(8分)(1) 编写一条赋值语句,计算num1、num2之和的平方根,并将结果保存在num3中。
(2分)(2) 方法hypotenuse 带两个参数,第一个参数是整型数据side1,第二个是浮点型参数side2. 并且返回一个双精度浮点型结果。
(3分)(3) Object类的意义是什么?(3分)(1)num3=Math.sqrt(num1+num2);(2)double thpotenuse(int side1, float side2);(3)java中所有类都是直接或者间接地有object类派生,因此object类的所有public方法可供每个对象使用。
3、编写一个方法isIsosceles,以表示三角形的三边长的三个整数为参数,如果该三角形是等腰三角形则返回true,其他情况返回false。
(6分)public boolean isIsoceles (int side1, int side2, int side3){boolean result = false;if ( (side1 == side2) && side1 != side3) ||(side2 == side3) && side2 != side1) ||(side1 == side3) && side1 != side2) )result = true;return result;}4、声明一个枚举型Season变量,可能的取值是winter、spring、summer和fall (4分)enum Season{ winter, spring, summer, fall}5、什么是多态?如何实现多态?(6分)多态性是指一个引用变量在不同时刻可以指向不同类型的对象。
面向对象期末试卷 A(答案)
******************************************班级:******************************学号:************************************姓名:************************************共3页第1页得分 阅卷人************ ****** ****** ****** ****** ****** ****** 班级: ****** ****** ****** ****** ****** 学号: ****** ****** ****** ****** ****** ****** 姓名: ****** ****** ****** ****** ****** ******共3页 第21. (9分)class Point { private: int x, y; public:Point(){x=y=0;} Point(int x0,int y0) {x=x0;y=y0;} int GetX() { return x; } int GetY() { return y; }void Print(){cout<<"Point("<<x<<","<<y<<")"<<endl;} ___(1)___; //友元函数声明 ___(2)___; //友元函数声明};Point operator+(Point& pt,int dd) //加号操作符重载函数,实现Point 类对象与整数加法 { Point temp=pt; temp.x+=dd; temp.y+=dd; return temp;}Point operator+(Point& pt1,Point& pt2) //加号操作符重载函数,实现两个Point 类对象的加法 { Point temp=pt1; temp.x+=pt2.x; ___(3)___; return temp;}答案:(1) friend Point operator+(Point& pt,int dd) ----3分(2) friend Point operator+(Point& pt1,Point& pt2) ----3分 (3) temp.y+=pt2.y ----3分 2.(12分) 已知一个类的定义如下: #include<iostream.h> class AA { private:int a[10]; int n;public:void SetA(int aa[], int nn); //用数组aa 初始化数据成员a ,用nn 初始化数据成员n int MaxA(); //从数组a 中前n 个元素中查找最大值void SortA(); //采用选择排序的方法对数组a 中前n 个元素进行从小到大排序void InsertA();//采用插入排序的方法对数组a 中前n 个元素进行从小到大排序 void PrintA(); //依次输出数组a 中的前n 个元素};该类中InsertA()函数的实现如下,请在标号位置补充适当的内容。
2010-2011第1学期面向对象试题A卷答案及其评分标准
2010-2011学年第1学期面向对象程序设计试题(A)卷答案及其评分标准1.(20分)这只是参考,只要相近都可以#include <iostream.h>#include <math.h>class Point //Point类定义{public:Point(int xx=0, int yy=0) {X=xx;Y=yy;}Point(Point &p);int GetX() {return X;}int GetY() {return Y;}private:int X,Y;};……………………….5分Point::Point(Point &p) //拷贝构造函数的实现{X=p.X;Y=p.Y;cout<<"Point拷贝构造函数被调用"<<endl;}class Distance //Distance类的定义{public: //外部接口Distance(Point xp1, Point xp2);double GetDis(){return dist;}private: //私有数据成员Point p1,p2; //Point类的对象p1,p2double dist;};……………………….5分Distance::Distance(Point xp1, Point xp2):p1(xp1),p2(xp2){cout<<"Distance构造函数被调用"<<endl;double x=double(p1.GetX()-p2.GetX());double y=double(p1.GetY()-p2.GetY());dist=sqrt(x*x+y*y);}……………………….5分void main(){Point myp1(1,1),myp2(4,5); //定义Point类的对象Distance myd(myp1,myp2); //定义Distance类的对象cout<<"The distance is:";cout<<myd.GetDis()<<endl;}……………………….5分2. (10分)#include <iostream.h>const float PI = (float)3.14159; //给出p的值const float ConcretePrice = 20.; //过道水泥单价class Circle //定义类Circle 及其数据和方法{public: //外部接口Circle(float r); //构造函数float Area(); //计算圆面积private: //私有数据成员float radius;}; ……………………….3分// 类的实现Circle::Circle(float r) { radius=r; } // 构造函数初始化数据成员radiusfloat Circle::Area() // 计算圆的面积{return PI * radius * radius;} ……………………….3分//主函数实现void main (){float radius, ConcreteCost;Circle Pool(5); // 定义Circle 对象Circle PoolRim(10);ConcreteCost = (PoolRim.Area() - Pool.Area())*ConcretePrice;cout << "Concrete Cost is $" << ConcreteCost << endl; ……………………….4分}3.(10分)常属性:是指该类的对象的属性被初始化后不再发生变化,如人的性别。
2011面向对象程序设计 -信管10A答案
兰州交通大学试卷(主卷)年 月 日装订线 班级: 姓名: 学号: 评分:___________________考题书写要求:上下不得超过黑线,左右不得超过黑线两端点。
密封线课程名称 面向对象程序设计(A 卷) 成绩 参考答案 班级 姓名 学号一、选择题,请把答案填到下列表格中(共24分,每小题1分)1、int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; myArray3[1][4]的值是( )。
A.3B.6C.9D.越界 2、下列选项中,( )不是是引用类型。
A.DateTime 类型B.Object 类型C.string 类型D.int 类型 3、下列关于构造函数的描述不正确的是( )A.构造函数不可以声明返回类型。
B.构造函数可以用private 修饰C. 构造函数不能带参数D.构造函数必须与类名相同4、在C#中设计时,如何将一个可读写的公有属性Nmae 修改为只写属性?( )A .为Nmae 添加修饰符B .将Nmae 的get 块删除C .将Nmae 的set 块删除D .在Nmae 的set 块前加修饰符pravite 5、以下关于ref 和out 的描述哪些项是不正确的?( )A.使用ref 参数,传递到ref 参数的参数必须最先初始化。
B.使用out 参数,传递到out 参数的参数必须最先初始化。
C.使用ref 参数,必须将参数作为ref 参数显式传递到方法。
D.使用out 参数,必须将参数作为out 参数显式传递到方法。
6、在ComboBox 控件的SelectedChangeConmited 事件处理方法中,应使用ConboBox 对象的( )属性获取用户新选项的序号。
A .SelectedIndexB .NewvalueC .SelectedItemD .Text 7、通过继承( )类,用户可以创建自己的异常类.A .System.ExceptionB .System.SystemExceptionC .System.ApplicationExceptionD .erException8、在C#语法中,在派生类中对基类的虚函数进行重写,要求在声明中使用( )关键字。
(完整版)武汉理工大学《面向对象技术及应用试题》(带答案)
(完整版)武汉理工大学《面向对象技术及应用试题》(带答案)《面对对象技术及应用》试题一、多选题:下列题中有一个或多个正确答案,请将正确答案的编号填在括号里。
(每题2分,共40分)1.状态图中常用的动作有(ABC )A.动作B.入口动作C.出口动作D.触发动作2.UML中表示类之间“关系”的视图有(ABC )A.关联B.泛化C.依靠D.实现3.用例描述中包含的内容有(ABCD )A.发起用例的参加者B.用例的前置条件C.用例的后置条件D.从用例中获益的参加者4.类之间的关系包括(BCD )A.链B.继承C.多重性D.聚拢5.完整的类可视化表示包括元素(ABC )A.职责和约束B.属性C.操作D.接口6.在UML提供的图中,用于描述系统与外部系统及用户之间的交互的是( D )A)用例图B)类图C)对象图D)部署图7.UML背后的两个分量级概念是。
(BD )A)类B)用例C)面对过程D)面对对象8.用例是从____的观点对系统行为的一个描述。
( A )A)用户B)类C)系统D)对象9.关于用例对于系统开发来说的存在价值,以下说法正确的是。
(ABD )A)便于从用户的观看角度收集系统需求B)使系统更符合用户的需求C)禁止了分析员与用户的沟通D)便于分析员与客户和用户沟通10.以下哪些标记符在活动图中存在。
(BC )A)大事触发器B)分叉与汇集C)泳道D)决策点11.用UML建立业务模型是理解企业业务过程的第一步。
业务人员饰演业务中的角XXX及其交互方式,表示企业业务的工作流。
这种图显示出工作流中的步骤、决策点,以及完成每一步骤的角群和对象。
这种图是以下哪种图。
( A )A)活动图B)交互图C)用例图D)状态图12.面对对象理论中,对象之间发送信号,在UML状态图里就是。
( B )A)入口动作B)大事。
2010-2011第一学期面向对象分析与设计试题
2010-2011第一学期面向对象分析与设计试题一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题1 分,共20 分)1. ( D )是对具有相同属性和行为的一组对象的抽象描述。
A. 实体B. 对象C. 类模板D. 类2. 一类对象向另一类对象所发消息的格式中不包括(D )。
A. 对象名B. 操作函数名C. 参数表D. 类名3.面向对象技术的三大机制不包括(A )。
A. 抽象B. 封装C. 多态D. 继承4.从整体功能层面考虑类的设计应遵循下列三条原则,除了(B)。
A. 单一功能原则B. 封装原则C. 最小惊讶原则D. 开放/封闭原则5. 可以在类外访问类的(C )。
A. 私有成员B. 受保护性成员C. 公有成员D. 纯虚函数6. 类的(D)是供创建类的实例对象时调用,完成对象的初始化。
A. 内联函数B. 析构函数C. 友员函数D.构造函数7. 派生类可以继承( B )。
A. 私有成员B. 部分公有成员C. 构造函数D. 析构函数8. 如果合理地利用(B),就可以在类的复杂层次关系中为共享访问与成员隐蔽之间找到一个平衡点,既实现部分成员隐蔽,又能方便部分成员的继承,实现代码的高效重用和扩充。
A. 私有继承B. 保护继承C. 公有继承D. 多继承9. 如果将某类族中的一个同名成员函数说明为虚函数,则可用(C )来调用不同派生类的虚函数,实现运行时多态。
A. 基类对象B. 派生类对象C. 基类对象的指针D. 派生类对象的指针10. C++中既可实现文件输入又可实现文件输出的类是( D )A. ifstreamB. ofstreamC. iostreamD. fstream11.基类中的protected 成员,通过public派生,其在派生类中的可见性为(C)。
A. 不可访问B. privateC. protectedD. public12. 在C++程序中,对象之间的相互通信可以通过(B )来实现。
(完整版)面向对象分析与设计练习题含答案
面向对象分析与设计试题B卷一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题2 分,共20 分)/* 上个世纪80年代开始至今还盛行的以Smalltalk,C++等为代表的面向对象软件开发方法(00)*/1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。
A. Simula67语言(20世纪70年代的Simula-67是第一个面向对象的语言)B. Smalltalk语言(80年代初的Smalltalk语言)C. Java语言(对流行的语言进行面向对象的扩充得到的语言或C++)D. 统一建模语言(UML)的标准2. 面向对象的运动产生了多种面向对象的语言, 其中(C)是一种混合性面向对象语言, 既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。
A. SmalltalkB. EiffelC. C++D. Java3.下列不属于面向对象技术的基本特征的是(B)。
A. 封装性B. 模块性C. 多态性D. 继承性4. 面向对象程序设计将描述事物的数据与( C ) 封装在一起,作为一个相互依存、不可分割的整体来处理。
A. 信息B. 数据隐藏C. 对数据的操作D. 数据抽象5. 关于面向对象方法的优点,下列不正确的叙述是(C)。
A. 与人类习惯的思维方法比较一致B. 可重用性好C. 以数据操作为中心D.可维护性好6.(D)是从用户使用系统的角度描述系统功能的图形表达方法。
A. 类图B. 对象图C. 序列图D. 用例图7. (C ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。
A.对象图 B. 组件图 C. 类图 D. 配置图**8.(D)描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。
面向对象技术(答案)
●下面关于面向对象方法中消息的叙述,不正确的是____(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.具体类型相关解析:在面向对象技术中,对象在收到信息后要予以响应。
不同的对象收到同一消息可产生完全不同的结果,这一现象称为多态。
多态有多种不同的形式,其中参数多态和包含多态称为通用多态,过载多态和强制多态成为特定多态。
参数多态应用比较广泛,被称为最纯的多态。
这是因为同一对象、函数或过程能以一致的形式用于不同的类型。
包含多态最常见的例子就是子类型化,即一个类型是另一类型的子类型。
过载多态是同一变量被用来表示不同的功能,通过上下文以决定一个类所代表的功能。
即通过语法对不同语义的对象使用相同的名,编译能够消除这一模糊。
强制多态是通过语义操作把一个变元的类型加以变换,以符合一个函数的要求,如果不做这一强制性变换将出现类型错误。
面向对象建模技术模拟试卷A(带标注)
2010-2011学年第1学期面向对象建模技术模拟试题(A卷)考试时间:2010年12月30日班级学号姓名✧请将答案写在答题纸上,写明题号,不必抄题,字迹工整、清晰;✧请在答题纸和试题纸上都写上你的班级,学号和姓名,交卷时请将试题纸、答题纸和草纸一并交上来。
一、选择题,每题1分,共计20分。
每个括号里的数字为该空的题号,从该题号对应的备选答案中选择最佳的一项,每空限填一个选项。
请按如下表格在答题纸上答此题。
在UML语言中,下图中的a、b、c三种图形符号按照顺序分别表示(1)。
a b c1.供选择的答案:A. 边界对象、实体对象、控制对象B. 实体对象、边界对象、控制对象C. 控制对象、实体对象、边界对象D. 边界对象、控制对象、实体对象(2)设计模式定义了对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。
2.供选择的答案:A. Adapter(适配器)B. Iterator(迭代器)C. Prototype(原型)D. Observer(观察者)Round-Trip Engineering能够帮助维持软件架构的完整性。
但(3) 不是Round-trip Engineering 的好处之一。
3.供选择的答案:A. 发现和评估软件架构上的改动B. 为相同的接口提供不同的实现C. 在每次迭代中保持模型和代码的同步D. 传达被接受的架构改动下面4种符号在Rose中表示的模型元素分别为(4)4.供选择的答案:A. 接口(Interface) 类操作(Operation) 时序图(Sequence Diagram) 类属性(Attribute)B. 类操作(Operation) 接口(Interface) 类属性(Attribute) 时序图(Sequence Diagram)C. 接口(Interface) 类属性(Attribute) 类操作(Operation) 时序图(Sequence Diagram)D. 时序图(Sequence Diagram) 类属性(Attribute) 接口(Interface) 类操作(Operation)在建立系统的用例模型时,首先应该确定系统的参与者。
面向对象技术与C++考试A卷答案
一、程序填空题(共5题,每空2分,共30分)1、#include<iostream.h>class A{ _______(1)________void f(int i){cout<<i<<'\t'; }void g(){cout<<"g\n"; }};class B:private A{ public:void h(){cout<<"h\n";}_______(2)_______};void main(){ B d;d.f(6); d.h();}输出: 6 h参考答案:(1) public: (2) void f(int i) {A::f(i);}//cout<<i<<'\t';}2、#include <iostream.h>class p_class{ int num ;public :void set_num ( int val ) { num = val ; }void show_num ( ) ;} ;void p_class :: show_num ( ) { cout << num <<'\t' ;}void main ( ){ p_class ob[3] , * p ;for ( int i = 0; i<3 ; i++ ) ob[i].set_num((i+1)*10);________(3)________; p -> show_num ( ) ;________(4)________; p -> show_num ( ) ;________(5)________; p -> show_num ( ) ;}输出:20 30 10参考答案:(3)p=&ob[1] (4) p=&ob[2] (5)p=&ob[0]3、#include<iostream.h>class Tdate{ int month ; int day ; int year ;int IsLeapYear(){ return(year%4==0&&year%100!=0)||(year%400==0);} ________(6)________void Set (int m, int d, int y) { month=m; day=d; year=y; }________(7)________;} ;________(8)________Print(){ cout << month <<"/"<< day <<"/"<< year<<endl ;if(IsLeapYear())cout<<"This year Is leapyear.\n" ;else cout<<"This year Is not leapyear.\n";}void main(){ Tdate a ; a.Set ( 2, 4, 2000 ) ; a.Print() ; }参考答案:(6)public:(7) void Print()(8) void Tdate::4、#include<iostream.h>class Time{ public:Time(int h, int m) {hours=h; minutes=m;}void Time12();________(9)________ Time24(Time time);private:int hours, minutes;};________(10)________ Time12(){ if(hours>12) { cout<<hours-12<<":"<<minutes<<"PM\n" ; }else cout<<hours<<":"<<minutes<<"AM\n" ;}void Time24(Time time){ cout_________(11)________ }void main(){ Time T1(20,30), T2(10,45);T1.Time12();Time24(T1);T2.Time12();Time24(T2);}输出:8:30PM20:3010:45AM10:45参考答案:(9)friend void (10) void Time::(11) <<time.hours<<":"<<time.minutes<<endl;5、已知一维数组类ARRAY的定义如下,构造函数的作用是把参数n的值赋给s,给v动态分配长度为n的数组空间,接着利用数组参数a初始化v所指向的数组。
面向对象程序设计-试卷[附参考答案]
《面向对象程序设计》试卷第一学期“本科”期末考试计算机专业面向对象程序设计试题一、单项选择题(每小题1分,共20分)1.由C++源程序文件编译而成的目标文件的默认扩展名为(C)。
A.cppB.exeC.objD.lik2.设x和y均为bool量,则x&&y为真的条件是(A)。
A. 它们均为真B.其中一个为真C. 它们均为假D. 其中一个为假3.在下面的二维数组定义中,正确的语句是(C)。
A.int a[5][];B.int a[][5];C.int a[][3]={{1,3,5},{2}};D.int a[][10];4.在文件包含命令中,被包含文件的扩展名(C)。
A.必须是 .h;B.不能是 .h;C.可以是 .h或 .cpp;D.必须是 .cpp;5.要使语句“p=new int[10][20]”正确,p应事先定义为(D)。
A.int *p;B.int **p;C.int *p[20];D.int (*p)[20];6.在关键字public后定义的成员为该类的(B)成员。
A.私有B. 公有C.保护D.任何7.假定AA为一个类,a为该类私有的数据成员,若要在该类的一个成员函数中访问它,则书写格式最好为(B)。
A.aB.AA::aC.a( )D. AA::a( )8.队列具有(A)的操作特性。
A.先进先出B.先进后出C.进出无序D.仅进不出9.假定AB为一个类,则执行“AB a,b(3),*p”语句时共调用该类构造函数的次数为(D)。
A. 5B. 4C. 3D. 210.在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是(B)。
A. 作为友元函数重载的1元运算符B. 作为成员函数重载的1元运算符C. 作为友元函数重载的2元运算符D. 作为成员函数重载的2元运算符二、填空题(每空2分,共20分)1.当执行cout语句输出endl数据项时,将使C++显示输出屏幕上的光标从当前位置移动到下一行的开始位置。
(完整版)《面向对象程序设计C》期末试卷及标准答案(A)
《面向对象程序设计C++ 》期末考试一试卷( A )班级:姓名:学号:分数:题号一二三四总分得分试卷说明:本套试题共四个大题,所有题目都答在答题纸上,写在其余地方均无效。
(答题纸在本套试卷的第10 页上)一、选择题(每题 2 分,共 40 分)1、C++是()。
A.面向对象的程序设计语言B.面向过程的程序设计语言C.既支持面向对象的程序设计又支持面向过程的程序设计的混淆型语言D.非结构化的程序设计语言2、面向对象程序设计思想的主要特点中不包含()。
A. 封装性B. 多态性C. 继承性D. 功能分解,逐渐求精3、若定义: string str;当语句cin>>str;履行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str=()。
B. MicrosoftA. Microsoft Visual Studio 6.0!C. Microsoft Visual4、考虑下边的函数原型申明:void testDefaulParam(int a,int b=7,char z='*');下边函数调用中,不合法的是()。
A. testDefaulParam(5);B. testDefaulParam(5,8);C. testDefaulParam(5,'#');D. testDefaulParam(0,0,'*');5、以下语句中,将函数 int sum(int x, int y) 正确重载的是()。
A. float sum(int x, int y);B. int sum(int a, int b);C. float sum(float x, float y);D. double sum(int y, int x);6、以下表示引用的方法中,()是正确的。
已知: int a=1000;A. int &x=a;B. char &y;C. int &z=1000;D. float &t=&a;7、在一个函数中,要求经过函数来实现一种不太复杂的功能,而且要求加速履行速度,采纳()。
面向对象模拟试题(手机、PDA版)
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)在建立系统的用例模型时,首先应该确定系统的参与者。
《面向对象的程序设计》期末试卷(A)答案
电子系计控专业《面向对象的程序设计》期末试卷(A)答案一、选择题(每题1分,共20分)1、如果要改变窗体的标题,则需要设置的属性是 A 。
A. CaptionB. NameC. BackColorD. BorderStyle2、工程文件的扩展名是_C_。
A. frx B. bas C. vbp D.frm3、初始状态下,VB工具箱的控件称为_A_。
A. 标准控件(或内部控件)B. 外部控件C. ActiveX控件D. 可插入对象4、将命令按扭Command1设置为不可见,应修改命令按钮的 A 属性。
A. VisibleB. ValueC. CaptionD. Enable5、在窗体上画三个单选按钮,组成一个名为chkOption的控件数组。
用于标识各个控件数组元素的参数是 B 。
A. TagB. IndexC. ListIndexD. Name6、要改变控件的高度,应修改控件的_D_属性。
A. Top B. Left C. Width D. Height7、只能用来显示字符信息的控件是 B 。
A. 文本框 B. 标签 C. 图片框 D. 图象框8、InputBox$(函数返回值的类型为 B 。
A. 数值B. 字符串C. 变体D. 数值或字符串(视输入的数据而定)9、确定复选框是否选中,可访问的属性是_A_。
A. Value B. CheckedC. SelectedD. Caption10、选中复选框时,Value的值为 B 。
A. 0 B.1 C. True D. False11、添加列表框中的项目,应该用列表框的 C 属性。
A. Selected B. Value C. List D. Text12、若要在同一窗体中安排两组单选按扭,可用_D_控件来分隔。
A. 列表框B. 组合框C. 图片框D. 框架13、用户可以通过设置菜单项的_C_属性的值为False来使该菜单项失效。
A. HideB. VisibleC. EnableD. Checked14、在程序运行期间,如果拖动滚动条上的滚动块,则触发的滚动事件是 C 。
(完整word版)面向对象技术样题(附答案)
北京大学软件与微电子学院期末试题—面向对象分析与设计一、选择题( 20 分,共 10 题,每题 2 分)1.关于方法论与方法的关系的描述错误的是( B )A .方法论是一种观点,是一个有理论意义的架构。
B.方法包括理论与模型两个重要的方面。
C.面向对象的方法论的重要观点是:封装、数据隐藏、多态、关系等。
D.不同的方法可以属于同一种方法论。
2.关于信息隐藏的描述错误的是(C)A .信息隐藏是指对象在与外界的交互中,尽可能地隐藏对象的内部细节,仅保留有限的对外接口与外部进行联系。
B.信息隐藏既可以隐藏属性,也可以隐藏操作。
C.一个对象信息隐藏的内容对任何对象都是一样的,并不随与之交互的对象的不同而改变。
D.信息隐藏的原则是公开不变的操作,隐藏易变的操作。
3.关于多态的描述正确的是(D)A .多态是指在聚合关系中的各个类中名字相同的属性和操作具有不同的意义。
B.多态的实现机制是编译时静态链接。
C.函数名重载 (overload) 会导致多态现象出现。
D.多态可实现接口复用,节省大量的编码工作量.4.关于重载( overload)与覆盖( override)的说法正确的是( D)。
A .如果子类中的成员函数(f x)具有父类中成员函数f(x) 相同的函数名,那么称子类对父类的f(x) 进行了覆盖。
B.如果子类中的成员函数f(x )具有父类中成员函数f(x) 相同的基调,那么称子类对父类的f(x) 进行了重载。
C.重载导致多态,覆盖与多态无关。
D.覆盖由动态链接实现,重载由静态链接实现。
5.关于用况图与类图的描述正确的是( D)。
A.参与者是用况图中的元素,类是类图中的元素,二者没有关系。
B.用况图中用况应全部识别为类图中的同名类。
C.用况图中参与者应全部识别为类图中的同名类。
D.用况图中参与者有可能识别为类图中的主动类6.关于状态图的陈述正确的是( C)A.一个对象自身的属性值变化不能作为其状态图中的事件。
(完整版)面向对象程序设计试卷及答案
考试试卷A(答案)面向对象程序设计注意事项:1。
请考生按要求在试卷装订线内填写姓名、学号和年级专业。
2. 请仔细阅读各种题目的回答要求,在规定的位置填写答案。
3。
不要在试卷上乱写乱画,不要在装订线内填写无关的内容.4。
满分100分,考试时间为120分钟。
一。
单项选择(本大题共10小题,每小题3分,共30分)1. C#中每个int类型的变量占用( B )个字节的内存。
(A)8 (B)4 (C)2 (D)12。
面向对象的特点是( A )(A)封装、继承、多态(B)抽象、封装、多态(C)抽象、继承、封装(D)抽象、多态、重载3。
C#控制台程序的主入口点是( C )(A) Page_Load函数(B)Run函数(C)Main函数(D)Form_Load函数4。
引用类型存储在( B )中。
(A)堆栈(B)堆内存(C)队列(D)列表5. 在C#中,表示一个字符串的变量应使用以下哪条语句定义( B )(A)CString str (B)string str(C)Dim str as string (D)char *str6。
在中,用来与数据源建立连接的对象是( A )。
(A)Connection对象(B)Command对象(C)DataAdapter对象(D)DataSet对象7. 在类的定义中,类的( B )描述了该类的对象的行为特征.(A)类名(B)方法(C)所属的名字空间(D)私有域8. 如果未显式赋值,则将整型值( B )赋给枚举中的第一个元素。
(A)1 (B)0 (C)2 (D)39. float类型的值可以隐式转换成( C )类型的值而保持值不被改变。
(A)char (B)long (C)double (D)int10。
在C#中,假设Class1是一个类,而IExample是一个接口,下面的( A )类声明是正确的。
(A)class Employee: Class1, IExample(B )class Employee : IExample , Class1(C )class Employee- Class1, IExample(D )class Employee: Class1/IExample二.判断题(本大题共5小题,每小题3分,共15分)1. C#中子类可以继承多个基类,也可以继承一个接口。
1C#程序设计期末A卷以及答案
A. 类名 B. 方法 15. 以下类 MyClass 的属性 count 属于( class MyClass { int i; int count { get { return i; } } }
A. 只读 B. 只写 C. 可读写 16. 已知类 MyClass 中事件 MouseClicked 定义如下: public static event MouseClickedListener MouseClicked; 执行下列语句: MouseClicked += new MouseClickedListener(obj.DoSomething); MouseClicked += new MouseClickedListener(obj.DoSomething); 然后引发该 MouseClicked 事件,其结果为:( A. obj.DoSomething 方法被调用 4 次 )
第 2 页 共 10 页
C. virtual 方法
D. override 方法
).
)错误。 D. 拼写
C. 逻辑 ) C. 4
D. 12
)
Console.Write("Move!"); } } D. abstract class Cat: Animal { public void Eat() { Console.Write("Eat!"); } } 13. 在使用 FileStream 打开一个文件时,通过使用 FileMode 枚举类型的( 统打开一个现有文件并把文件读写指针定位在文件尾部。 A. Append 14. 在类的定义中,类的( B. Create C. CreateNew )描述了该类的对象的行为特征。 C. 所属的名字空间 )属性. )成员,来指定操作系 D. Truncate D. 私有域
面向对象编程技术2010试卷A++
„„„„„„„„„„„„ 密„„„„„„„„„„„„ 封 „„„„„„„„„„„„„ 线 „„„„„„„„„„„„
安
徽
工
业
大
学
工
商
学
院
试
题
纸(四)
四、简答题(每小题 5 分,共 15 分)
1. 解释类型兼容原则? 2. const int *p 和 int *const p 的区别是什么? 3. 解释在三种不同的继承方式下,基类成员的访问属性?
)。
8.对于私有继承,基类的公有和保护成员在派生类中将(
D.仍然相应保持为公有和保护
A.构造函数的函数名与类名相同 C.构造函数可以设置默认参数 10.面向对象系统的多态性是( ) 。
D. 构造函数必须指定类型说明 B. 不同的对象收到相同的消息时产生相同的动作. D. 相同的对象收到相同的消息时产生相同的动作. C.void AB(AB &x); D.AB(int x);
五、编程题(35 分)
1. 2. 3. 4.
编写一个类 Rectangle, 有 Length (长) 、 Width(宽)等数据成员, 有重载的构造函数 Rectangle () 、 Rectangle (int itslength, int itswidth) , 设计程序测试这个类。(7 分)
6.假定一个类 AB 只含有一个整型数据成员 a,用户为该类定义的带参构造函数可以为(
7.如果表达式 a+b 中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( B.b.operator+(a) D.operator(a+b) )成员。 C. 全部变成私有 B.全部变成保护
面向对象分析与设计试题A卷及答案
面向对象分析与设计试题A卷及答案面向对象分析与设计试题A卷及答案1. 到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是( D )的出现和广泛使用,使面向对象方法成为了软件开发的主流方法。
A. OMTB. OOSEC. C++D. UML2 . (D )为编程人员提供了重复利用程序资源的一种途径,使编程人员可以扩充和完善旧的程序以适用新的需求。
A.封装机制B. 抽象机制C. 多态机制D. 继承机制3. 面向对象程序设计中用(C )来描述具有相同属性和行为的对象集合。
A.实体B. 对象C. 类D. 类模板4. 下列语言中,(D )是一种混合型面向对象编程语言。
A. C语言B. Java 语言C. Basic 语言D. C++ 语言5.下列不属于类的成员函数的是(D )。
A.构造函数B.析构函数C.缺省构造函数D. 友元函数6.多态机制的作用是(B )。
A.信息隐藏B.实现“一种接口,多种方法”C. 派生新类D.数据抽象7.合理地利用(B ),既可以实现部分成员隐蔽,又能方便部分成员的继承,实现代码的高效重用和扩充。
A.公有继承B. 保护继承C. 友员函数D. 私有继承8. (C )经过实例化而生成具体的类。
A.抽象类B.函数模板C. 类模板D.对象9.类的析构造函数是在(C )时调用的。
A.不自动调用B.创建对象C.删除对象D.创建派生类对象10 ?在公有继承的情况下,基类的(C )成员无法继承到派生类中。
A.公有成员B.保护成员C. 私有成员D.静态成员11.在类族中通过定义A.类的嵌套B.(D )来实现运行时多态。
类的继承 C. 抽象类 D.虚函数12. UML提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。
其中(C)不属于这类视图。
(D )是从用户使用系统的角度描述系统功能的图形表达方法。
在一个“库存管理系统”中,入库管理和岀库管理都需要检查用户帐号是否正确。
那么,用例“入库管理”、“岀库管理”与用例“检查用户帐号”之间是( 关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河南大学计算机与信息工程学院2010-2011学年第一学期期末考试面向对象技术及应用试卷A卷参考答案与评分标准(卷面总分:100分)一、单项选择题(每个小题2分,共34分)1.main方法是Java Application程序执行的入口点,以下描述哪项是合法的( B )?A、public static void main()B、public static void main(String args[] )C、public static int main(String [] arg )D、public void main(String arg[] )2.关于如下程序的描述哪个是正确的?( C )public class Person{static int arr[] = new int[5];public static void main(String a[]){System.out.println(arr[0]);}}A、编译将产生错误B、编译时正确,但运行时将产生错误C、正确,输出0D、正确,输出 null3.假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C )class A{int i;static String s;void method1() { }static void method2() { }}A、System.out.println(a.i);B、a.method1();C、A.method1();D、A.method2()4.创建一个标识有“关闭”按钮的语句是( D )。
A、TextField b = new TextField(“关闭”);B、Label b = new Label(“关闭”);C、Checkbox b = new Checkbox(“关闭”);D、Button b = new Button(“关闭”);5.对于子类的构造函数说明,下列叙述中错误的是( D )。
A、子类不能继承父类的无参构造函数。
B、子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句。
C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造函数。
D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。
6.有以下程序片段,下列哪个选项不能插入到行1。
(A)1.2.public class A{3.//do sth4. }A、public class MainClass{ }B、package mine;C、class ANotherClass{ }D、import java.util.*;7.类ABC定义如下:1.public class ABC{2.public int max( int a, int b) { }3.4.}将以下哪个方法插入行3是不合法的。
( B )A、public float max(float a, float b, float c){ }B、public int max (int c, int d){ }C、public float max(float a, float b){ }D、private int max(int a, int b, int c){ }8.以下哪项可能包含菜单条( B )。
A、PanelB、FrameC、AppletD、Dialog9.paint()方法使用哪种类型的参数? (A)A、GraphicsB、Graphics2DC、StringD、Color10.以下哪个方法用于定义线程的执行体?( C )A、 start()B、init()C、run()D、synchronized()11.当浏览器暂时离开含applet 程序的页面时,以下选项中的哪个方法将被执行?( D )A、init()B、start()C、destroy()D、stop()12.A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明:1.A a0=new A();2.A a1 =new B();3.A a2=new C();问以下哪个说法是正确的?( D )A、只有第1行能通过编译B、第1、2行能通过编译,但第3行编译出错C、第1、2、3行能通过编译,但第2、3行运行时出错D、第1行、第2行和第3行的声明都是正确的13.关于以下程序的说明,正确的是(C)。
1.class StaticStuff{2.3.static int x;4.static { x+=5;}5.public static void main(String args[ ])6.{7.System.out.println(“x=” + x);8.}9.static { x/=5;}10.}A、4行与9行不能通过编译,因为缺少方法名和返回类型B、9行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为:x=1D、能通过编译,但程序运行结果不可预知,因为变量x没有初始化14.以下哪个接口的定义是正确的?( D )A、interface B{ void print() { } ;}B、i nterface B{static void print() ;}C、a bstract interface B extends A1, A2 //A1、A2为已定义的接口{ abstract void print(){ };}D、interface B{ void print();}15.关于Socket通信编程,以下描述错误的是:( D )A、服务器端通过new ServerSocket()创建TCP连接对象B、服务器端通过TCP连接对象调用accept()方法创建通信的Socket对象C、客户端通过new Socket()方法创建通信的Socket对象D、客户端通过new ServerSocket()创建TCP连接对象16.关于数据库连接的程序,以下哪个语句的注释是错误的( A)A、Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); //指定MySQL JDBC驱动程序B、String url=”jdbc:odbc:student_access”; //指定数据源为student_accessC、Connection con=DriverManager.getConnection(url); //创建连接指定数据库的对象D、Statement stmt=con.creatStatement();//创建执行SQL语句的Statement对象17.关于异常的编程,以下描述错误的是:( A)A、在有除法存在的代码处,为了防止分母为零,必须抛出并捕获异常B、int i=Integer.parseInt(”123a”);将产生NumberFormatExceptionC、int a[]=null; a[0]=1; 将产生NullPointerExceptionD、输入输出流编程中,读和写时都要抛出IOException二、读程序,给结果(共17分)1.设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 };将输出结果填写在输出语句后的注释中。
(本题3分)int s = 0 ;for ( int i = 0 ; i < MyIntArray.length ; i + + )s += MyIntArray[i] ;System.out.println( s ); //( 550 )2.写出以下程序的运行结果,填写在每个输出语句后面的注释中。
(每空1分,共12分) public class ATest{public static void main(String args[]) {Sub sub = new Sub();System.out.println(sub.x); //( 1 )System.out.println(sub.n); //( 50 )System.out.println(sub.method1()); //( 2 )System.out.println(sub.method2()); //( 50 )Super supsub=new Sub();System.out.println(supsub.x); //( 1 )System.out.println(supsub.n); //( 49 )System.out.println(supsub.method1());//( 2 )System.out.println(supsub.method2());//( 49 )Super sup=new Super();System.out.println(sup.x); //( 1 )System.out.println(sup.n); //( 50 )System.out.println(sup.method1()); //( 1 )System.out.println(sup.method2()); //( 50 ) }}class Super{int x=1 , y=2 ;static int n=50;int method1(){r eturn (x<y)?x:y;}static int method2(){r eturn n++;}}class Sub extends Super{int method1() {return (x>y)?x:y;}static int method2(){r eturn n--;}}3.写出以下程序的运行结果。
(每空1分,共2分)class First {First() {System.out.println ("in First");}}public class Second extends First {Second() {System.out.println("in Second");}public static void main(String[] args) {Second mine= new Second();}}(in First)(in Second)三、补程序以及给出程序结果(共49分)1.利用多态编程创建一个图形(Shape)类,实现求正方形(Square),三角形(Triangle),圆(Circle)的面积。
(每个空1分,共8分,结果每个2分,共8分,本题共36分)public class Shape { //⑴abstractpublic abstract double (); //⑵getArea}public class Square Shape { //⑶extendsprivate double height = 0; // 正方形的边长Square(double height) { //⑷public= height; //⑸this.height}public double getArea() {(this.height * this.height); //⑹return}}public class Circle extends Shape {private double r = 0;private final static double PI = 3.14;public Circle( r) { //⑺doublethis.r = r;}public double getArea() {return (PI * r * r);}}public class Triangle extends Shape {private double a = 0;private double b = 0;private double c = 0;private double h = 0;public Triangle(double a, double h) { /*( ①)⑻四选一:①构造方法②成员方法③类方法④实例方法*/this.a = a;this.h = h;}public Triangle(double a, double b, double c) { //( ②) ⑼四选一:①隐藏②重载③继承④多态this.a = a;this.b = b;this.c = c;}public double getArea() { //( ④) ⑽四选一:①隐藏②重载③继承④覆盖if (h == 0) {double s = (a+b+c)/2; // 根据海伦公式求三角形的面积return Math.pow(s*(s-a)*(s-b)*(s-c), 0.5);}else {return ( a * h / 2); // 普通公式}}}public class TestShape {public static void main(String[] args) {//以下四个语句为多态square = new Square(3) ; //⑾Shapecircle = new Circle(2) ; //⑿Shapetriangle1 = new Triangle(3, 4, 5); //⒀Shapetriangle2 = new Triangle(3, 4); //⒁ShapeSystem.out.println(square.getArea());System.out.println(circle.getArea());System.out.println(triangle1.getArea());System.out.println(triangle2.getArea());}}运行结果: ⒂( 9.0 ),⒃( 12.56 ),⒄( 6.0 ),⒅( 6.0 )2.图形用户界面程序填空。