成人教育面向对象技术复习题及参考答案
C++面向对象技术复习题汇总(含答案)
C++面向对象技术复习题汇总(含答案)面向对象程序设计C++复习资料与答案第一、二、六、七章习题一、选择题1、系统约定C++源程序文件名的缺省的扩展名为()A、bccB、c++C、cppD、vcc2、面向对象的程序设计将数据与()放在一起,作为一个相互依存、不可分割的整体来处理。
A、对数据的操作B、信息C、数据隐藏D、数据抽象3、当一个函数无返回值时,函数的类型应定义为()A、voidB、任意C、intD、无4、对于C++的函数,正确的叙述是:A、函数的定义不能嵌套,但函数的调用可以嵌套B、函数的定义不能嵌套,但函数的调用不能嵌套C、函数的定义和调用都不能嵌套D、函数的定义和调用都可以嵌套5、下列语句中错误的是()A、int *p=new int(10);B、int *p=new int[10]C、int *p=new int;D、int *p=new int[40](0);6、假设已经有定义:const char *const name=”chen”;,下面的语句中正确的是:()A、name[3]=’a’; B、name=”lin”;C、name=new char[5]; D、cout<<name[3];< bdsfid="94" p=""></name[3];<>7、假设已经定义:char *const name=”chen”;, 下面的语句中正确的是:()A、name[3]=’q’; B、name=”lin”;C、name=new char[5]; D、name=new char(‘q’);8、假设已经定义:const char *name=”chen”;, 下面的语句中错误的是:()A、name[3]=’q’; B、name=”lin”;C、name=new char[5]; D、name=new char(‘q’);9、下面的类型声明中正确的是:( )A、int &a[4];B、int &*p;C、int &&qD、int i,*p=&i;10、假设定义了函数模板()templateT max(T x,T y){ return(x>y)?x:y;}并定义了int i;char c;错误的调用语句是:()A、max(i,i)B、max(c,c)C、max((int)c,i);D、max(i,c)11、模板的使用是为了()A、提高代码的可重用性B、提高代码的运行效率C、加强类的封装性D、实现多态性12、设有二个语句:int x[‘a’];cin>>x;则编译器认为()A、说明语句int x[‘a’]错B、二个语句都错C、语句cin>>x 错D、二个语句正确,没有语法错13、设有语句:void f(int a[10],int &x);int y[10],*py=y,n;则对函数f的正确调用语句是( )A、f(py[10],n);B、f(py,n)C、f(*py,&n)D、f(py,&n)14、在C++中实现封装是借助于()A、枚举B、类C、数组D、函数15、对于下面几个函数:(1) void f(int x,float y) {…… }(2) int f(int a,float b){…… }(3) int f(int i,int j){…… }(4) float k(int x){…… }是重载函数。
成人教育 《面向对象程序设计》期末考试复习题及参考答案
面向对象程序设计复习题二一、填空1.程序的三种常见结构是、、,其中结构是程序的默认结构。
2.同名方法给出不同的实现,并通过参数类型或个数进行区分,称为。
3.和“继承”匹配的概念是。
4.由类构建对象的过程称为。
5.抽象类是含有的类。
6.实现软件复用有两种方式,分别为、、。
7.有定义const int *p,p称为。
8.通过继承产生的类称为。
9.virtual关键字在C++中有两个用处,分贝是,和。
10.方法重载和实现了多态性。
11.请给出C++外的另外一种支持面向对象设计语言。
12.类的三个要素是、、。
13.对象释放前执行的函数是。
二、名词解释1、构造函数2、对象3、运算符重载4、析构函数5. 面向对象6. 继承三、简答1.比较类和结构体?2.重载的意义?3.抽象类的作用和意义?4.组合与继承的区别?四、辩析1.任何父类对象都可以被子类对象替代。
2.public修饰符号破坏了数据的开放性。
3.private继承方式不能产生子类。
4.不能实例化的类一定是抽象类。
五、综合回答1.简述多态的实现机制。
2.谈谈多态的意义。
3.面向对象程序设计思想的优点和缺点。
面向对象程序设计复习题二答案一、填空(1)顺序(2)选择(3)循环(4)顺序(5)函数重载(6)抽象(7)实例化(8)纯虚函数(9)继承(10) 组合(9)和(10)不区分顺序(11)常量指针(12)派生类(13)虚函数(14)虚拟继承(13)和(14)不区分顺序(15)覆盖(16)Java或者C#(17)类的标识(18)类的状态(19)类的操作(17)(18)(19)不区分顺序(20)析构函数二、名词解释1、当类实例化时自动调用的成员函数,负责实现对象的初始化2、按照数据类型分配的内存空间,可以实现方法的调用3、将系统定义的运算符操作对象的类型扩展的过程,一般针对自定义类型4、对象空间释放之前自动调用的函数5、是程序设计思想,相对面向过程而言更加强调封装性6、两个类之间的一种关系,其中一个类的某个成员类型是另一个类三、简答1、C++中类和结构体具有同等的功能,唯一区别是类缺省成员属性是private,而结构体缺省为public2、重载的意义在于丰富了动作的多样性,但是并不加重程序员的负担。
面向对象考试题目和答案
面向对象考试题目和答案一、单项选择题(每题2分,共20分)1. 面向对象程序设计中,对象的状态由()来表示。
A. 属性B. 方法C. 消息D. 类答案:A2. 在面向对象程序设计中,封装的目的是()。
A. 隐藏对象的属性B. 隐藏对象的方法C. 隐藏对象的实现细节D. 隐藏对象的消息答案:C3. 面向对象程序设计中,继承的主要优点是()。
A. 重用代码B. 减少代码量C. 提高程序的可读性D. 所有以上选项答案:D4. 在面向对象程序设计中,多态性是指()。
A. 一个对象可以有多个类B. 一个类可以有多个对象C. 一个消息可以有多个行为D. 一个类可以有多个属性答案:C5. 在面向对象程序设计中,以下哪个不是类的组成部分()。
A. 属性B. 方法D. 函数答案:D6. 在面向对象程序设计中,以下哪个概念不是面向对象的核心概念()。
A. 封装B. 继承C. 多态D. 过程答案:D7. 在面向对象程序设计中,以下哪个概念是面向对象的核心概念之一()。
A. 函数B. 过程C. 消息D. 抽象8. 在面向对象程序设计中,以下哪个不是类的成员()。
A. 属性B. 方法C. 函数D. 消息答案:C9. 在面向对象程序设计中,以下哪个不是类的属性()。
A. 私有属性B. 保护属性C. 公共属性D. 全局属性答案:D10. 在面向对象程序设计中,以下哪个不是类的访问修饰符()。
B. 保护C. 公共D. 静态答案:D二、多项选择题(每题3分,共15分)1. 面向对象程序设计中,以下哪些是类的属性()。
A. 私有属性B. 保护属性C. 公共属性D. 全局属性答案:ABC2. 面向对象程序设计中,以下哪些是类的成员()。
A. 属性C. 函数D. 消息答案:ABD3. 面向对象程序设计中,以下哪些是类的访问修饰符()。
A. 私有B. 保护C. 公共D. 静态答案:ABC4. 面向对象程序设计中,以下哪些是面向对象的核心概念()。
面向对象基础-参考答案
一、【必做题】1.(1)定义一个人类Person:1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX”2)有三个属性:名字、身高、体重(2)定义一个PersonCreate类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.742)分别调用对象的sayHello()方法。
(答案:Person.java、PersonCreate.java)2.(1)定义一个人类Person:1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX”2)有三个属性:名字、身高、体重3)通过构造方法,分别给三个属性赋值(2)定义一个Constructor类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.742)分别调用对象的sayHello()方法。
(答案:Constructor.java、或者是Person3.java)3.(1)定义一个矩形类Rectangle:1)定义三个方法:getArea()求面积、getPer()求周长,showAll()分别在控制台输出长、宽、面积、周长。
2)有2个属性:长length、宽width3)通过构造方法Rectangle(int width, int length),分别给两个属性赋值(答案:Rectangle.java)4.定义一个点类Point,包含2个成员变量x、y分别表示x和y坐标,2个构造器Point()和Point(int x0,y0),以及一个movePoint(int dx,int dy)方法实现点的位置移动。
()public class Point {private int x0;private int y0;public Point(){}public Point(int x0,int y0){t his.x0=x0;this.y0=y0;}public void movePoint(int dx,int dy){t his.x0 = this.x0 + dx;t his.y0 = this.y0 + dy;}}5.编写一个程序,创建两个Point对象p1、p2,分别调研movePoint方法后,打印p1和p2的坐标。
面向对象期末考试题及答案
面向对象期末考试题及答案一、选择题(每题2分,共20分)1. 面向对象编程中的三大特性是?A. 封装、继承、多态B. 抽象、继承、封装C. 继承、封装、多态D. 封装、抽象、多态答案:A2. 在Java中,哪个关键字用于定义类?A. classB. structC. typeD. interface答案:A3. 以下哪个不是面向对象设计原则?A. 单一职责原则B. 开闭原则C. 里氏替换原则D. 模块化原则答案:D4. 在面向对象编程中,构造函数的作用是什么?A. 用于创建对象B. 用于销毁对象C. 用于实现继承D. 用于实现多态答案:A5. 以下哪个是Java中的访问修饰符?A. privateB. publicC. protectedD. 全部都是答案:D...(此处省略剩余选择题)二、简答题(每题10分,共30分)1. 简述面向对象编程的基本思想。
答案:面向对象编程是一种编程范式,它将现实世界中的实体抽象成对象,这些对象具有属性和行为。
面向对象编程的基本思想是将数据和处理数据的方法结合在一起,形成对象。
通过对象之间的交互来实现程序的功能。
2. 解释什么是多态性,并给出一个简单的例子。
答案:多态性是指允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型而有所不同。
例如,在Java中,可以通过重载和重写来实现多态。
假设有一个动物类Animal,它有一个方法makeSound()。
然后有一个子类Dog,它重写了makeSound()方法。
当我们创建一个Dog对象并调用makeSound()时,会执行Dog类中的makeSound()方法,而不是Animal类中的。
3. 什么是封装?封装的好处是什么?答案:封装是将对象的数据(属性)和行为(方法)组合在一起,并隐藏对象的内部细节,只暴露出一个可以被外界访问的接口。
封装的好处包括:保护数据、减少错误、提高代码的重用性、增强模块化。
三、编程题(每题25分,共50分)1. 编写一个Java程序,实现一个简单的银行账户类Account,包含以下特性:- 私有属性:账户余额balance- 公共方法:存款deposit(double amount)、取款withdraw(double amount)、获取余额getBalance()答案:```javapublic class Account {private double balance;public Account() {this.balance = 0;}public void deposit(double amount) {if (amount > 0) {balance += amount;}}public void withdraw(double amount) {if (amount > 0 && balance >= amount) {balance -= amount;}}public double getBalance() {return balance;}}```2. 假设有一个名为Car的类,它有两个属性:品牌brand和颜色color。
青岛农业大学成人教育《面向对象程序设计》期末考试复习题及参考答案
46. 一个函数功能不太复杂,但要求被频繁调用,选用_______ 。( A )
A. 内联函数
B. 重载函数
C. 递归函数
D. 嵌套函数
47. 在 C++中使用流进行输入输出,其中用于屏幕输出的对象是_______ 。( C )
A. cerr B. cin C. cout D. cfile
48. 对 C++语言和 C 语言的兼容性,描述正确的是_______ 。( A )
A.友元函数的实现必须在类的内部定义 B.友元函数是类的成员函数
C.友元函数破坏了类的封装性和隐藏性 D.友元函数不能访问类的私有成员
27.下面叙述不正确的是________ 。(A)
A.基类的保护成员在派生类中仍然是保护成员
B.基类的保护成员在公有派生类中仍然是保护成员
C.基类的保护成员在私有派生类中是私有成员
A.public B. protected C.private D. static
35. C++中的类有两种用法:一种是类的实例化,即生成类对象,并参与系统的运行;
另一种是通过_______派生了新的类。 ( B )
A.复用
B.继承
C.封装
D.引用
36. 下列对派生类的描述中,错误的是_______ 。( D )
class Foo {ing bar ;};
则 Foo 类的成员 bar 是_________(C)
A.公有数据成员 B.公有成员函数 C.私有数据成员
D.私有成员函数
15.下列表示引用的方法中,__________是正确的。已知:int m=10; (D)
A. float &t=&m; B.int &y=10;
四川大学成人教育《面向对象程序设计》期末考试复习题及参考答案
《面向对象程序设计》第一次作业答案单项选择题。
1.C+十函数的声明和定义可以分开,函数声明不需要()。
(D)A.返回类型B.函数名C.参数表D.函数体2.函数的形参是()。
(B )A.全局变呈B.局部变臺C.静态变臺D.部变星3.数组名表示的是数组的()。
(C )A.类型B.用途C.地址D.长度4.如果短整型的长度是2字节,有一个短整型J旨针p的值是0xFFED1200 ,那么p+1的值为()。
(B )A. 0xFFED1201B. 0xFFED1202 C. 0xFFED1203D. 0xFFED12045.private访问属性限制对象的成员可以在(冲访问。
(A )A.本类的成员函数B. main函数C.父类的成员函数D.子类的成员函数6.如果走义了一个类myclass则为myclass类对象以成员函数形式重载后++运算符的声明应该为(1(C)A. myclass operator++();B. myclass& operator++();C. myclass operator++( int );D. myclass& operator++( int);7.如果有如下走义:const char* str = "OK";那么,sizeof ( str)的值应该是()(D )A. IB. 2C. 3D. 48.父类和子类各自走义一个成员函数,函数名相同,参数表不同,那么()。
(D)A.在子类中这两个函数构成重载关系B.子类不会继承父类的这个函数C.子类中的函数会覆盖父类中的函数D.编译时会发生错误9.如果myclass类走义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclass obj = 100 ;会( )。
(B )A.调用拷贝构造函数B.调用整型参数的构造函数C.调用赋值运算符D.引起编译错误10.抽象类指的是()。
(D)A.没有彳壬何成员的类B.只有成员函数没有数据成员的类C.有虚函数的类D.有纯虚函数的类11.多重继承时,如果派生类的两个父类有一个共同的虚基类,那么虚基类的初始化参数由()的构造函数来传递。
(完整)c++面向对象复习题答案版要点
一、填空题1.C++中有两种数据类型:( char )和( int long )可以使用signed修饰符。
在C++中,用数组、指针、和(引用 )作为函数参数,能够将参数值带回.2.为了降低函数调用的时间开销,建议将小的调用频繁的函数定义为(内联函数),方法是在函数类型前加上(inline)关键字。
3.面向对象的程序设计有四大特征,它们是抽象、封装、( 继承 )、(多态).4。
拷贝构造函数是在用一个对象初始化另一个对象时被调用,系统缺省的拷贝构造函数的工作方法是(把对象的每个数据成员的值都复制到新建立的对象中)。
5。
用new申请某一个类的动态对象数组时,在该类中必须能够匹配到(该类的)构造函数,否则应用程序会产生一个编译错误。
6.静态数据成员必须在类外进行初始化,且静态数据成员的一个拷贝被类的所有对象(共享).7。
在C++中,定义重载函数时,应至少使重载函数的参数个数或参数类型( 不同 )。
8。
在C++中,虽然友元提供了类之间数据进行访问的一种方式,但它破坏了面向对象程序设计的( 封装)特性。
9.预编译指令由三种,它们是:文件包含、( 宏定义 )和( 条件编译).10。
静态的成员函数没有隐含的( this ),所以,它们只能直接访问类的静态的数据成员。
11.在C++中,函数的参数有两种传递方式,它们是值传递和( 地址 )。
12.当非静态成员函数被调用时,该成员函数的( this)指向调用它的对象。
13。
拷贝构造函数使用( 引用)作为参数初始化创建中的对象。
14。
在公有继承的情况下,基类数据成员在派生类中的访问权限(不变 ).15.在C++中,构造派生类对象时,总是先从(基类 )的初始化开始的。
16。
当需要统计程序中某个类创建对象的个数时,需要给该类定义(静态数据)成员。
17。
在多个类之间有重复继承时,为避免被重复继承的基类数据成员在内存中有多个拷贝,应将该基类定义为( 虚基类)。
18.在C++类中,有一种不能定义对象的类,这样的类只能被继承,称之为(抽象类),定义该类至少具有一个( 纯虚函数 )。
161青理工成人高等教育期末考试 面向对象程序设计 及参考答案
面向对象程序设计复习题二一、选择题1、关于C++与C语言关系的描述中,()是错误的。
A.C语言是C++语言的一个子集 B.C语言与C++语言是兼容的C.C++语言对C语言进行了一些改进 D.C++语言和C语言都是面向对象的2、已知:int m=10; 下列表示引用的方法中,()是正确的。
A.int &x=m; B.int &y=10; C.int &z; D.float&t=&m;3、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的是()。
A.testDefaulParam(5); B.testDefaulParam(5,8); C.testDefaulParam(5,'#'); D.testDefaulParam(0,0,'*');4、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是()。
A.函数的返回值类型 B.参数的类型 C.函数名称 D.参数个数5、下列有关C++类的说法中,不正确的是()。
A.类是一种用户自定义的数据类型B.只有类中的成员函数或类的友元函数才能存取类中的私有成员C.在类中,如果不做特别说明,所有成员的访问权限均为私有的D.在类中,如果不做特别说明,所有成员的访问权限均为公用的6、已知X类,则当程序执行到语句X array[3];时,调用了()次构造函数。
A.0 B.1 C.2 D.37、有关析构函数的说法,不正确的是()。
A.析构函数有且仅有一个B.析构函数和构造函数一样可以有形参C.析构函数的功能是在系统释放对象之前作一些内存清理工作D.析构函数无任何函数类型8、类定义的内容允许被其对象无限制地存取的是()。
A.private 部分 B. protected 部分 C.public 部分 D.以上都不对9、关于常数据成员的说法,不正确的是()。
面向对象程序的设计复习题与参考答案
⾯向对象程序的设计复习题与参考答案⽹络教育课程考试复习题及参考答案⾯向对象程序设计⼀、填空题:1.创建类的对象时,使⽤运算符___________给对象分配存空间。
2.Java通过来区分重载函数。
3.在⼦类中使⽤保留字_ _可调⽤被⼦类覆盖的⽗类中的⽅法。
4.使⽤保留字可以从⼀个构造⽅法中调⽤同⼀个类的另⼀个构造⽅法。
5.抽象类⽤修饰符定义。
6.类的数据成员的访问权限修饰符⼀般为7.访问权限修饰符按照访问权限的⼤⼩从⼤到⼩分别为、、、。
8.定义类的构造⽅法不能有,其名称与名相同。
9.抽象⽅法是的特征是。
10.Java中的所有异常都是从继承来的。
11.对象引⽤中存储的容是。
12.下列程序段执⾏后,String str1 = new String("Java");String str2 = new String("Java");if (str1.equals(str2)) {System.out.println("They are equal");} else {System.out.println("They are not equal");}输出结果为:。
13.下⾯循环执⾏后的sun值为int count =0, sum = 0;while ( count <10 ) {sum += count;count ++;}14.Java语⾔中关键字_ _表⽰双精度类型。
15.保留字_ _⽤于导⼊包中的类到程序中,供程序中使⽤。
16.Java语⾔中继承是⽤保留字表⽰。
17.⾯向对象程序设计中,类是指。
18.对象包含和。
19.若有类定义:class B extends A{…}则类B是类A的_ 。
20.Java语⾔中, 通常把可能发⽣异常的⽅法调⽤语句放到try块中,并⽤紧跟其后的_ 块来捕获和处理异常。
21.多态是指。
山东师范大学面向对象技术期末考试试卷及参考答案
山东师范大学成人高等教育期末考试试题年级:专业:考试科目:面向对象技术试题类别:A卷考试形式:闭卷一、多选题:下列题中有一个或多个正确答案,请将正确答案的编号填在括号里。
(共60分)1.状态图中常用的动作有()A.动作B.入口动作C.出口动作D.触发动作2.UML中表示类之间“关系”的视图有()A.关联B.泛化C.依赖D.实现3.用例描述中包含的内容有()A.发起用例的参与者B.用例的前置条件C.用例的后置条件D.从用例中获益的参与者4.类之间的关系包括()A.链B.继承C.多重性D.聚集5.完整的类可视化表示包括元素()A.职责和约束B.属性C.操作D.接口6.在UML提供的图中,用于描述系统与外部系统及用户之间的交互的是()A)用例图B)类图C)对象图D)部署图7.UML背后的两个重量级概念是。
()A)类B)用例C)面向过程D)面向对象8.用例是从____的观点对系统行为的一个描述。
()A)用户B)类C)系统D)对象9.关于用例对于系统开发来说的存在价值,以下说法正确的是。
()A)便于从用户的观察角度收集系统需求B)使系统更符合用户的需求C)禁止了分析员与用户的交流D)便于分析员与客户和用户交流10.以下哪些标记符在活动图中存在。
()A)事件触发器B)分叉与汇合C)泳道D)决策点11.用UML建立业务模型是理解企业业务过程的第一步。
业务人员扮演业务中的角色及其交互方式,表示企业业务的工作流。
这种图显示出工作流中的步骤、决策点,以及完成每一步骤的角色和对象。
这种图是以下哪种图。
()A)活动图B)交互图C)用例图D)状态图12.面向对象理论中,对象之间发送信号,在UML状态图里就是。
()A)入口动作B)事件C)状态D)出口动作13.在建模过程中,得到初步类图和细化类图分别在什么阶段,以下说法正确的是。
()A)前者在需求收集阶段,后者在需求分析阶段。
B)都是在需求收集阶段。
C)都是在需求分析阶段。
成人教育面向对象程序设计期末考试试卷及复习题参考答案
XX大学继续教育学院面向对象程序设计试卷(A)学年:学期:年级:专业:学习形式:层次:(本试题满分100分,时间90分钟)一.选择题(每题2分,共20分)1. 下列关于包的描述中,错误的是A.包是若干个类的集合B.包是一种特殊的类型C.包是使用package语句创建的D.包有有名包和无名包两种2. 下列关于Applet程序的描述中,错误的是A.Applet程序的主类必须是Applet类得子类B.Applet不是完整的独立程序C.Applet程序的主类中应有一个main()方法D.Applet的字节码文件必须嵌套在一个HTML文件中3. 下列界面元素中,不是容器的是A. Dialog B.Frame C.ListD.Panel4. 设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是AA.a[0] = 7; B.i = i + 2 C.i++ - --j; D.a(0) = 66; 5. Java语言的类间的继承关系是A.多重的B.单重的C.线程的D.不能继承6. 下列语句序列执行后,k 的值是int i=10, j=18, k=30;switch( j - i ) {case 8 : k++;case 9 : k+=2;case 10: k+=3;default : k/=j;}A.31 B.3 C.2 D.337. 设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是A.x > y || x > z B.z > ( y + x ) C.x != y D.x < y & ! ( x < z ) 8. 下列修饰符中,定义类头时能使用的修饰符是A.private B.static C.abstractD.protected9. 设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是A.x( int m){ ... } B.void x( int m){ ... } C.x( int m, int n){ ... } D.x( int h,int m,int n){ ... }10. 下列对封装性的描述中,错误的是A.封装体包含了属性和行为B.封装使得抽象的数据类型提高了可重用性C.被封装的某些信息在封装体外是不可见的D.封装体中的属性和行为的访问权限是相同的二.填空题(每空2分,共20分)1. 构造方法是一种特殊的成员方法,构造方法名与相同,并且此方法(填有/无)有返回值。
面向对象技术(答案)
●下面关于面向对象方法中消息的叙述,不正确的是____(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.]二进制[B.1符号[c.1十进制[D.]数字【答案】A【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】JaVa语言的主要特点不包括()。
[A.]面向对象[B.]自动垃圾回收[CJ处理文件[D.]可移植性【答案】C【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】Java开发工具包简称为()。
[A.]JKD[B.]JRK[C.]JDK[D.]JRE【答案】C【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】具有相同属性和服务的一组对象的模板称为()。
1B.]类[c.1代码[D.]概念【答案】B【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】类是对具有共同属性和行为的对象的抽象描述,每个对象称为该类的一个()。
[A.]产品[B.1元素[c1成分[D.]实例【答案】D【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】Java是一门()语言。
[A.]机器[B.]汇编[C.)面向过程的高级[D.]面向对象的高级【答案】D【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】使用JDK编译JaVa程序时使用的命令是()。
面向对象程序设计复习题答案
面向对象程序设计复习选择题1. 一个设计得好的面向对象系统具有(B)特征。
A 低内聚、低耦合B 高内聚、低耦合C 高内聚、高耦合D 低内聚、高耦合2. 面向对象程序设计的特点主要概括为(C)。
A 可分解性、可组合性、可分类性B 继承性、封装性、多态性C 抽象封装性、继承性、多态性D 封装性、易维护性、可扩展性、可重用性3. 关于C#程序的书写,下列不正确的说法是( D )。
A. 区分大小写B. 一行可以写多条语句C. 一条语句可写成多行D. 一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法4. 关于C#语言的基本语法,下列哪些说法正确的是(C)A. C#语言使用using 来引用需要用到的命名空间;B. 用C#编写的程序中,Main 函数是唯一允许的全局函数;C. C#语言中使用的名称严格区分大小写;D. C#中一条语句必须写在一行内;5 以下标识符中,正确的是(A)。
A._nNameB. typeofC. 6bD. x5#6.字符串连接运算符包括&和(A)。
A. +B. -C. *D. /7.拆箱是关于:(B)A、值类型到引用类型的转换B、引用类型到值类型的转换C、引用类型到引用类型的转换D、值类型到值类型的转换8.装箱是关于:(A)A、值类型到引用类型的转换B、引用类型到值类型的转换C、引用类型到引用类型的转换D、值类型到值类型的转换9.下列引用类型和值类型描述正确的是(A)。
A. 引用类型变量保存内存地址,值类型直接保存变量值B. 引用类型在变量中直接保存变量值,值类型保存内存地址C. 引用类型和值类型保存数据的方式相同D. .NET Framework不支持值类型,因为所有的类型都是引用类型了10.一个类中的静态方法的调用可以:(A)A、通过类名调用B、通过实例化的对象调用C、在主方法中直接调用D、在同一个类中的某一方法中直接调用11.以下数据类型中,属于引用类型的是:(A)A、string类型B、double类型C、int类型D、 char类型12.下列类型中为值类型的是(C)A. 字符串类型B. 树组类型C. 枚举类型D. 接口类型13.decimal类型和浮点类型都可以表示小数,正确说法:(C)A. 两者没有任何区别B. 小数类型比浮点类型取值范围大C.小数类型比浮点类型精度高D. 小数类型比浮点类型精度低14. 有定义语句:int [,]a=new int[5,6]; 则下列正确的数组元素的引用是(C)。
山东师范大学成人教育面向对象技术期末考试复习题
一.单项选择题答题要求:下列各题,只有一个符合题意的正确答案,多选、错选、不选均不得分。
1.一个类的友元函数或友元类能够通过成员操作符访问该类的()A.私有成员B.所有成员C.公用成员D.保护成员参考答案:B2.对于消息队列的描述正确的是()A.在Windows中只有一个消息系统,即系统消息队列。
消息队列是一个系统定义的数据结构,用于临时存储消息B.系统可从消息队列将信息直接发给窗口。
另外,每个正在Windows下运行的应用程序都有自己的消息队列C.系统消息队列中的每个消息最终都要被USER模块传送到应用程序的消息队列中去。
应用程序的消息对列中存储了程序的所有窗口的全部消息D.以上都正确参考答案:D3.以下控件中,()没有Caption属性。
A.按钮B.群组框C.编辑控件D.静态控件参考答案:C4.要实现动态联编,必须通过()调用虚函数。
A.对象指针B.成员名限定C.对象名D.派生类名参考答案:A5.以下不属于成员函数的是()A.静态成员函数B.友元函数C.构造函数D.析构函数参考答案:B6.菜单项助记符前用()引导。
A.%B.&C.#D.$参考答案:B7.类CNum的缺省构造函数和析构函数是()um ( )和~CNum ( )um (int)和~CNum( )um ( )和~CNum (delete )um ( )和int~CNum ( )参考答案:A8.在C++中,用于实现运行时多态性的是()。
A.内联函数B.重载函数C.模板函数D.虚函数参考答案:D9.下列关于类和对象的叙述中,错误的是()。
B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系参考答案:A10.下列关于运算符重载的叙述中,正确的是()。
A.通过运算符重载,可以定义新的运算符B.有的运算符只能作为成员函数重载C.若重载运算符+,则相应的运算符函数名是+D.重载二元运算符时,必须声明两个形参参考答案:B11.以下()成员函数表示纯虚函数。
面向对象程序设计考前复习题及答案
简答题1、传统的结构化程序设计的优点和缺点是什么?优点:(1)这种程序设计方法力求算法描述精确。
(2)对每一子过程模块简单进行程序正确性证明。
缺点:(1)这种程序设计方法本质上是面对“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能干脆反映人类求解问题的思路。
(2)程序代码可重用性差。
程序中除少数标准库函数外,每设计一个程序时,程序员几乎从零做起。
即使重用代码,通常也是通过拷贝或编辑重新生成一份。
(3)维护程序的一样性困难。
该种方法将数据与对数据进行处理的程序代码分别。
2、什么是对象?每个对象都具有属性(Attribute)和方法(Method)这两方面的特征。
对象的属性描述了对象的状态和特征,对象的方法说明白对象的行为和功能,并且对象的属性值只应由这个对象的方法来读取和修改,两者结合在一起就构成了对象的完整描述。
3、什么是消息?在面对对象的程序设计中,由于对象描述了客观实体,它们之间的联系通过对象间的联系来反映。
当一个对象须要另外一个对象供应服务时,它向对方发出一个服务恳求,而收到恳求的对象会响应这个恳求并完成指定的服务。
这种向对象发出的服务恳求就称为消息。
4、什么是多态性?所谓多态性是指当程序中的其他部分发出同样的消息时,根据接收消息对象的不同能够自动执行类中相应的方法。
其好处是,用户不必知道某个对象所属的类就可以执行多态行为,从而为程序设计带来更大便利。
5、什么是面对对象的程序设计方法?这种方法将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。
在OOP中,将“对象”作为系统中最基本的运行实体,整个程序即由各种不同类型的对象组成,各对象既是一个独立的实体,又可通过消息相互作用,对象中的方法确定要向哪个对象发消息、发什么消息以及收到消息时如何进行处理等。
6、面对对象方法的特点是什么?(1)OOP以“对象”或“数据”为中心。
由于对象自然地反映了应用领域的模块性,因此具有相对稳定性,可以被用作一个组件去构成更困难的应用,又由于对象一般封装的是某一实际需求的各种成分,因此,某一对象的变更对整个系统几乎没有影响。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
山东师范大学成人高等教育计算机科学与技术专业
(专升本、高起本)科《面向对象技术》课程复习题A 参考答案在试卷后(7月无纸化考试)
一、单项选择题(每小题1分,共20分)
1、假定MyClass为一个类,则执行“” MyClass a[3],*p[2];”语句时,自动调用该类构造函数的次数为()
A、2
B、3
C、4
D、5
2、对于类中定义的成员,其隐含访问权限为()
A、protected
B、private
C、public
D、static
3、一个类的友元函数或友元类能够通过成员操作符访问该类的()
A、私有成员
B、所有成员
C、公用成员
D、保护成员
4、下面说法正确的是()
A、构造函数可以重载,析构函数不能重载。
B、构造函数不能重载,析构函数可以重载。
C、构造函数可以重载,析构函数也可以重载。
D、构造函数和析构函数都不可以重载。
5、下列语句的运行结果为()
#include <iostream.h>
srtuct COMPLEX
{
int x;
int y;
} cNum[2]={1,3,2,7};
void main()
{
cout<< cNum[0].y*cNum[1] x<<endl;
}
A、3
B、2
C、21
D、6
6、类AB的缺省构造函数和析构函数是()
A、AB( )和~AB( )
B、AB(int)和~AB( )
C、AB( )和~AB(delete )
D、AB( )和int~AB( )
7、在C++中,若对函数未加说明,则函数的隐含类型是()
A、int
B、double
C、void
D、char
8、已知类A是类B的友元,类B是类C的友元,则( )
A、类A一定是类C的友元
B、类C一定是类A的友元
C、类C的成员函数可以访问类B的对象的任何成员
D、类A的成员函数可以访问类B的对象的任何成员。