面向对象技术(本)阶段练习四资料
国家开放大学《面向对象程序设计(本)》形考任务1-4参考答案

国家开放大学《面向对象程序设计(本)》形考任务1-4参考答案形考任务1一、单项选择题(每题1分,共20分)1.Java是一门()语言。
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.Java语言的主要特点不包括()。
a. 可移植性b. 处理文件c. 面向对象d. 自动垃圾回收7.Java语言的主要特点不包括()。
a. 解释执行b. 处理字符串c. 多线程d. 安全性8.具有相同属性和服务的一组对象的模板称为()。
a. 代码b. 概念c. 类d. 程序9.把对象的属性和服务组合成一个独立的整体,尽可能隐蔽其内部的细节,这称为对象的()。
a. 继承性b. 封装性c. 开放性d. 多态性10.使用JDK编译Java程序时使用的命令是()。
a. javadocb. javacc. appletviewerd. java11.组成Java程序的最小单位是()。
a. 方法b. 常量d. 类12.在Java程序中包含主方法的类被称为主类,主方法名为()。
a. voidb. mainc. Maind. args13.在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符为()。
a. privateb. staticc. publicd. protected14.在Java程序中包含主方法的类被称为主类,主方法的存储控制属性应定义为()。
a. staticb. shortc. finald. abstract15.Java语言中的基本数据类型有9种,其中属于数值型的数据类型有()种。
面向对象 第四次作业

面向对象程序设计技术作业四一、填空题1、在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的使其初始化。
2、当一个类对象被撤消时将自动调用该类的。
3、对基类数据成员的初始化是通过执行派生类构造函数中的来实现的。
4、对一个类中的数据成员的初始化可以通过构造函数中的实现,也可以通过构造函数中的实现。
5、在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序是先,后,最后为。
6、当撤消一个含有基类和类对象成员的派生类对象时,将首先完成的析构函数定义体的执行,接着完成的析构函数定义体的执行,最后完成的析构函数定义体的执行。
7、设px是指向一个类动态对象的指针变量,则执行”delete px;”语句时,将自动调用该类的。
8、当一个类对象离开它的作用域时,系统将自动调用该类的。
9、假定一个类对象数组为A[N],当离开它的作用域时,系统自动调用该类析构函数的次数为。
10、假定AB为一个类,则执行”AB a[10];”语句时,系统自动调用该类构造函数的次数为。
11、假定用户没有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为。
12、假定用户没有给一个名为AB的类定义析构函数,则系统为其隐含定义的析构函数为。
13、若需要把一个函数”void F();”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句:。
14、若需要把一个类AB定义为一个类CD的友元类,则应在类CD的定义中加入一条语句:。
15、假定一个类AB中有一个静态整型成员bb,在类外为它进行定义并初始化为0时,所使用的语句为。
16、假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb的写法为。
17、当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为。
18、假定AB为一个类,则该类的拷贝构造函数的声明语句为。
19、对类对象成员的初始化是通过执行构造函数中的完成的。
《面向对象程序设计》课程知识 复习 学习材料 试题与参考答案

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

面向对象练习题及答案一、用例图1.请就以下需求建立用例图:一个新的音像商店准备采用计算机系统向比较广泛的人群销售或租借录像带和光碟。
该音像商店将存有大约1000 盘录像带和500 张光碟,这些订购涉及多家订购商。
所有的录像带和光碟都有一个条码,可以使用条码扫描仪来支持销售和返还,客户会员卡也同时条码化。
客户可以预定录像带并在指定日期来取。
系统必须拥有灵活的搜索机制来回答客户的询问,包括关于该音像商店还没有进货的电影(但可能是已经请求订购了)。
评分标准:画图格式标准3 分,用例全面正确4 分,角色与用例之间的关系正确3 分2.试用用例图描述小型图书资料管理系统。
某学院打算开发一个小型图书资料管理系统MiniLibrary,该系统基于Internet实现教师和学生对各种图书资料的借阅、查询和管理。
图书管理员负责管理各种图书资料,查询图书资料信息,并进行图书的借阅管理。
注册用户可以通过Internet 随时查询图书资料信息和个人借阅情况,预订目前借不到的图书资料,并可以快捷地查找和浏览所需要的电子资料。
系统可以提供适当的浏览器供用户阅读电子文献资料。
3.试用用例图描述系统简介:航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。
各个旅行社把预定机票的旅客信息输入到系统中,系统为旅客安排航班。
当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单到航空公司交款取票,系统核对无误即打印出机票给旅客。
此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。
技术要求和限制条件(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。
(2)对于本系统还应补充一下功能:1)旅客延误了取票时间的处理2)航班取消后的处理4 .请就此需求建立功能模型:某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:报社发行多种刊物,每种刊物通过订单来征订,订单中有代码、名称、订期、单价、份数等项目,订户通过填写订单来订阅报刊。
面向对象技术(本)阶段练习四资料

《面向对象技术(本)》课程第四阶段练习题、填充题1超类的private成员不能被子类继承。
2.在声明一个类变量时,前面必须要加上static修饰符。
3. import java.util.*;语句可导入Java的实用包中所有的类。
4.方法的覆盖是后期绑定,方法的重载是前期绑定。
5.写出一个表达式:输出角度300的余弦值Math.cos(30*3.14/I80。
二、选择题旦1.找出有关类的正确说法。
a. 类具有封装性,所以类的数据是不能被访问的。
b. 类具有封装性,但可以通过类的公共接口访问类中的数据。
c. 声明一个类时,必须用Public修饰符。
d. 每个类中,必须有main方法,否则程序无法运行。
e.A 2.将类的成员的访问权限设置为默认的,则该成员能被a. 同一包中的类访问b. 其它包中的类访问c. 所有的类访问d. 所有的类的子类访问C 3.下面哪一种是正确的方法重栽a. int fun (i nt afloat b{} float fun (i nt a,float b{}b. float fun (i nt a,float b{}float fun (i nt x,float y{}c. float fun( float a{}float fun (float a,float b{}d. flaot fun 1(i nt a,float b{}float fun 2(i nt a,float b{}D 4.下面关于继承的说法那个是正确的a. 超类的对象就是子类的对象。
b. 一个类可以有几个超类。
c. 一个类只能有一个子类。
d. 一个类只能有一个超类。
C 5.下面关于多态性的说法那个是正确的a. 一个类中,不能有同名的方法。
b. 子类中不能有和父类中同名的方法。
c. 子类中可以有和父类中同名且参数相同的方法。
d. 多态性就是方法的名字可以一样,但返回的类型必须不一样。
三、简答题1. 什么是类,什么是对象?在面向对象的程序设计语言中,类是一种特殊属性类型,类可以看作具有共同属性和行为的事物的抽象。
软件工程专业《面向对象技术》课程的课后作业参考答案(第4部分)

}
public void run(){ //结束条件设定为,当卡内资金大于 100 元时,线程 OVER while(this.mycard.getMoney()<=100){ AddSystem.addMoney(this.mycard); } System.out.println("资金大于 100 元,该线程 OVER"); System.out.println("");
}
public void addMoney(float addmoney){
money=money+addmoney;
//金额累加:
System.out.println("充值完毕,增加了"+addmoney+"元钱lass Student extends Thread{
money=0; id=0; name="No"; }
Card(int id, String name){ money=0;
this.id=id;
=name; }
public float getMoney(){
return money; }
public void dispInformation() { System.out.println("该一卡通考号为:"+id+"号");
}
public void dispInformation() { System.out.println("******************************"); System.out.println("该学生的基本信息如下:"); System.out.println("姓名-------:"+name);
面向对象技术与C++(4)答案

《面向对象技术与C++》试卷答案(4)第一题填充题(10分,每1个空格1分)1.在VC++中,编译器所生成的文件的扩展名为(obj)。
2.与系统中标准设备对应的四个流对象是(cin) 、(cout) 、cerr 和 clog。
3.在类定义中,将(=0)置于成员函数原型的末尾可以声明该函数为纯虚函数,含有纯虚函数的类被称为(抽象)类。
4.关键字(operator)引出了重载运算符函数的定义。
5.一般应将重载的流运算符定义为类的(非成员)函数。
6.(类模板) 提供了一种描述通用类的方法。
7.(构造函数) 是用来初始化类的数据成员的一种特殊的成员函数。
8.在VC++中,C++的源程序文件的扩展名为(cpp)。
第二题指出下列程序段中的错误,说明错误原因(10分,每1小题5分)1.class Complex { //表示复数的类声明public:void Complex (double,double); //第1个参数为实部,第2个参数为虚部// 其他成员函数的原型说明private:void Complex ( ); //默认复数的实部表示为0,虚部表示为0int real = 0 , image = 0;}1) void Complex(); 构造函数的访问属性应为public2) 两个构造函数均不能指定返回类型3)int real = 0 , image = 0; 不能直接赋初值4)最后少了一个分号(;)2.class C {public:void C(int s = 30) const { contents = new int[s]; }void ~C(int s = 30) const { cout << ”this object is destroyed” << endl; } private:int* contents;} ;1) 构造函数不能指定返回类型2) 析构函数不能指定返回类型3) 构造函数不能是const成员函数4)析构函数不能包含参数5)析构函数中需要使用delete操作符释放构造函数中使用new操作符申请的自由内存第三题选择题 (10分,每1个空格1分)1.在VC++中,可执行文件的文件扩展名为(D)[A] .cpp[B] .obj[C] .dsw[D] .exe2.定义一个类的输入运算符时,应将函数定义为(B)[A] 类的成员函数[B] 类的非成员函数[C] const成员函数[D] static成员函数3.不定义而能直接使用的运算符是(B)和(D)。
2020年电大面向对象程序设计期末复习题4及参考答案(经典复习考试题)

1. 由C++源程序文件编译而成的目标文件的默认扩展名为( C )。
A. cpp B. exe C. 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或.cppD. 必须是.cpp5. 要使语句“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为该类私有的数据成员,若要在该类的一个成员函数中访问它,则书写格式最好为( A )。
A.a B. AA::a C. a() D. AA::a()8. 队列具有(A )的操作特性。
A. 先进先出 B. 先进后出 C. 进出无序 D. 仅进不出9. 假定AB为一个类,则执行”AB a, b(3), *p;”语句时共调用该类构造函数的次数为( D )次。
A. 5 B.4 C. 3 D. 210. 在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( B )。
A. 作为友元函数重载的1元运算符B. 作为成员函数重载的1元运算符C. 作为友元函数重载的2元运算符D. 作为成员函数重载的2元运算符1. 当执行cout语句输出endl数据项时,将使C++显示输出屏幕上的光标从当前位置移动到____下一行____的开始位置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象技术(本)》课程第四阶段练习题
、填充题
1超类的private成员不能被子类继承。
2.在声明一个类变量时,前面必须要加上static修饰符。
3. import java.util.*;语句可导入Java的实用包中所有的类。
4.方法的覆盖是后期绑定,方法的重载是前期绑定。
5.写出一个表达式:输出角度300的余弦值Math.cos(30*3.14/I80。
二、选择题
旦1.找出有关类的正确说法。
a. 类具有封装性,所以类的数据是不能被访问的。
b. 类具有封装性,但可以通过类的公共接口访问类
中的数据。
c. 声明一个类时,必须用Public修饰符。
d. 每个类中,必须有main方法,否则程序无法运
行。
e.
A 2.将类的成员的访问权限设置为默认的,则该成员能被
a. 同一包中的类访问
b. 其它包中的类访问
c. 所有的类访问
d. 所有的类的子类访问
C 3.下面哪一种是正确的方法重栽
a. int fun (i nt afloat b{} float fun (i nt a,float b{}
b. float fun (i nt a,float b{}
float fun (i nt x,float y{}
c. float fun( float a{}
float fun (float a,float b{}
d. flaot fun 1(i nt a,float b{}
float fun 2(i nt a,float b{}
D 4.下面关于继承的说法那个是正确的
a. 超类的对象就是子类的对象。
b. 一个类可以有几个超类。
c. 一个类只能有一个子类。
d. 一个类只能有一个超类。
C 5.下面关于多态性的说法那个是正确的
a. 一个类中,不能有同名的方法。
b. 子类中不能有和父类中同名的方法。
c. 子类中可以有和父类中同名且参数相同的方法。
d. 多态性就是方法的名字可以一样,但返回的类型必须不一样。
三、简答题
1. 什么是类,什么是对象?
在面向对象的程序设计语言中,类是一种特殊属性类型,类可以看作具有共同属性和行为的
事物的抽象。
在类中包含了变量和与变量有关的操作(方法)。
对象是类
电话”类代表电话
的实例。
类和对象的关系就如同属性类型和变量的关系。
例如, 这一类事物,而电话的对象代表一个具体的电话。
2. 类的封装的目的是什么? 当外部的类可以没有限制地直接访问、修改类中变量时,是非常危险的。
因此必须 限制类的外部程序对类内部成员的访问,这就是类的封装目的。
类把属性和方法封 装起来,同时创建一些允许外部访问的方法,通过这样的方法来访问类的成员变 量。
封装的另一目的是细节屏蔽,便于程序功能的扩展和程序的维护。
3. Java 中有几种访问权限,各种访问权限的级别是什么?
Java 中有四种访问权限: 公有的(Public 、保护的(protected 默认的、私有的 (P rivate 。
各种权限的访问级别如下表:
null 表示空对象,即没有创建类的任何实例。
当我们声明对象时,如果没有用 new 实例化时,此时它就被初始化为一个特殊的值 “null 。
”而当我们在类的方法定义中 “thi s 表示。
up er 表示对某个类的超类 的引
用,用super 来引用被子类屏蔽的超类的成员。
5.什么是最终类和抽象类?
不能被继承的类称为最终类。
在声明类时,用 final 将类声明为最终类,这样此方 法不会在子类中被覆盖(即子类中不能有和此方法同名的方法)。
抽象类则是必须 P ublic P rotected private 同一类 允许 允许 允许 允许 null 、this 、 同一包 允许 允许 允许 不允许 不同包的子 类 所有类 允许 允许 允许 不允许 不允许 super 对象运算符分另j 表示什么? 不允许
不允许
不允许
需要引用正在使用该方法的对象时,可以用
被子类覆盖的类。
在声明类或方法时,用关键字abstract可以将类或方法声明为抽
象类或方法。
抽象方法没有方法体,含有抽象方法的类即为抽象类,它是不能实例化的类。
6.什么是多态性,什么重载和覆盖?
多态性是面向对象程序设计的重要特征,是指同一个名字的若干个方法,有不同的实现(即方法体中的代码不一样)。
多态性是通过方法的重载(overloadi ng和覆盖(override来实现。
方法的重载是指在一个类中,有若干个方法名字相同,但方法的参数不同,在调用时,根据参数的不同来决定执行那个方法。
重载的关键是参数必须不同,即参数的类型或个数必须不同。
如果在子类和超类中有同名的方法(参数也相同),子类中的方法将覆盖超类的方法,这就是覆盖。
通过覆盖可以使同名的方法在不同层次的类中有不同的实现。
四、编程题
1 .声明一个类Person成员变量有姓名、年龄、性别。
有成员方法以显示
姓名、年龄和性别。
class Person {
String n ame;
int age;
String sex;
p ublic String showName( { return n ame;
p ublic int showAge( { retur n age;
p ublic String showSex;( { retur n sex;
2.声明一个矩形类Rectangle,提供2个方法计算矩形的周长和面
积。
并用main方法来测试。
public class Reta ngle { private double len gth;
p rivate double width;
public Retangle(doublel, double w { leng th=l;
width=w;
p ublic double calc Penmeter( { return 2*(le ngth + width;
p ublic double calcAera( { return len gth * widthv;
public static woid main( Strin gH args {
Reta ngle areta ngle = Reta ngle(640m480;
System.out.println(面积是:” + aretangle.calcArea( +周长是:” + areta ngle. calc Perimeter (;。