面向对象程序设计总复习资料

上传人:桔**** 文档编号:508899650 上传时间:2022-12-24 格式:DOC 页数:18 大小:136.50KB
返回 下载 相关 举报
面向对象程序设计总复习资料_第1页
第1页 / 共18页
面向对象程序设计总复习资料_第2页
第2页 / 共18页
面向对象程序设计总复习资料_第3页
第3页 / 共18页
面向对象程序设计总复习资料_第4页
第4页 / 共18页
面向对象程序设计总复习资料_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《面向对象程序设计总复习资料》由会员分享,可在线阅读,更多相关《面向对象程序设计总复习资料(18页珍藏版)》请在金锄头文库上搜索。

1、面向对象程序设计复习课(2008_秋)一、对照书本(或上课课件),搞懂有关概念1. 面向对象程序设计的基本概念面向对象(0-0)程序设计是一种新的程序设计范型。这种范型的主要特征是:程序=对象+消息面向对象程序的主要结构特点是:第一,程序一般由类的定义和类的使用两部分组成,在主程序中定义对象并规定它们之间传递消息 的规律;第二,程序中的一切操作都是通过向对象发送消息来实现的,对象接收到后,启动有关方法完成相 应操作。第三,类由继承关系产生相互间的联系。2. 对象是现实世界的一个实体,其特性是:(1) 每一个必须有一个名字以区别于其他对象;(2) 用属性(或叫状态)来描述它的某些特征;(3) 有

2、一组操作,每一个操作决定对象的一种行为。(4) 对象的操作可以分为两类:一类是自身所承受的操作,一类是施加于其他对象的操作。类是: 一组具有共同的属性特征和行为特征的对象的抽象。类与对象的关系是抽象和具体的关系。3.面向对象系统的特征是:封装性、继承性和多态性(1) .将数据结构和作用于数据结构上的操作组成一个实体,数据的表示方式和对数的操作细节被隐 藏起来,用户通过操作接口对数据进行操作。这就是数据的封装。(2) .继承机制允许派生类继承基类的数据和操作(即数据成员和成员函数),也就是说,允许派生类使用基类的数据和操作。同时派生类还可以增加新的操作和数据。从继承源上分,继承分为单继承和多继承

3、。(3) .面向对象系统的多态性是指不同的对象收到相同的消息时产生多种不同的行为方式。重载的概念4.新的I/O流cin是标准输入流,在程序中用于代表标准输入设备,即键盘。运算符“ ”示向右cout是标准输出流,在程序中用于代表标准输出设备,即屏幕。运算符“ VV表示向左使用cin或cout进行I/O操作时,在程序中必须嵌入头文件iostream.h5. new和delete6. 引用引用可为变量起别名,它主要用作函数参数以及函数的返回类型。有变量的引用、参数引用和返回 值引用。7. 类的定义clsaa 类名 private:(可缺省)私有数据成员和函数成员protected:public:公有

4、数据成员和函数成员;成员函数的定义第一种方式是在类定义中只给出成员函数的原形,而成员函数体在类的外部定义。 第二种方式是将成员函数定义在类的内部,即定义为内置函数。(1) 隐式定义(2) 显式定义8.对象中成员的访问不论是数据成员,还是成员函数,只要是公有的,就可以被外部函数直接访问,访问的一般格式是:对象名.数据成员名或对象名.成员函数名(实参表)夕卜部函数不能引用对象的私有成员类成员的访问属性类的公有成员不但可以被类中成员函数访问,还可以在类的外部通过类的对象进行访问。类的私有 成员只能被类中成员函数访问,不能在类的外部通过类的对象进行访问。9.构造函数的特点:(1) 构造函数的名字必须与

5、类名相同。(2) 构造函数可以有任意类型的参数,但不能具有返回类型。(3) 定义对象时,编译系统会自动地调用构造函数。(4) 构造函数也是成员函数,函数体可写在类体内,也可写在类体外。(5) 构造函数被声明为公有函数,但它不能象其他成员函数那样被显式地调用,它是在定义对象的 同时被调用的。10. 析构函数也是特殊成员函数,用于释放对象。(1) 析构函数与构造函数名字相同,但它前面必须加一个波浪号()。(2) 析构函数没有参数,也没有返回值,而且不能重载,因此在一个类中只能有一个析构函数。(3) 当撤消对象时,编译系统会自动地调用析构函数。11. 友元:不属于任何类的一般函数,另一个类的成员函数

6、,整个的一个类。友元函数不属于任何类的一般函数(2) 友元成员该函数是另一个类的成员函数,前加上friend表示该另类的成员函数,又是本类的友元成员。(3) .友元类在类内说明一个类(该类前面已定义),前加上friend表示该类是本类的友元类。友元类的所有成员函数可以访问它自己类私有成员又可本类的私有成员12. 派生类的定义基类:class类名类的内容;声明派生类:class派生类名:继承方式基类名/派生类新增的数据成员和函数成员;继承方式可为公有继承(用public)、私有继承(用private或缺省)和保护继承(用protected)13. 基类成员在派生类中的访问属性(重点)14. 派生

7、类对基类成员的访问规则(重点)15. 派生类的构造函数和析构函数(1)派生类的构造函数和析构函数执行顺序当创建派生类对象时,首先执行基类的构造函数,随后再执行派生类的构造函数;当撤消派生类对 象时,则先执行派生类的析构函数,随后再执行基类的析构函数。(2).派生类的构造函数和析构函数的构造规则一般格式为:派生类名(参数总表):基类名(参数表)派生类新增成员的初始化语句其中基类构造函数参数,来源于派生类的构造函数的参数总表,也可以用常数值。16. 编译时的多态性与运行时的多态性静态联编(前期联编)静态联编要求在程序编译时就知道调用哪个函数,就决定如何实现某一动作。动态联编(后期联编、滞后联编)一

8、直要到程序运行时才能确定调用哪个函数。系统在运行时才动态完成的联编。静态联编支持的多态性称为编译时多态性,也称静态多态性。在C+中,编译时多态性是通过函数重载和运算符重载实现的。动态联编支持的多态性称为运行时多态性,也称动态多态性。在C+中,运行时多态性是通过继承和虚函数来实现的。函数重载:类外的一般的函数、成员函数和构造函数都可以重载17. 运算符重载:除了可以对函数重载外,还可以对大多数运算符实施重载。外部函数类的友元函数是类的成员函数成员运算符函数定义的语法形式成员运算符函数的原型在类的内部声明格式为:class X返回类型operator 运算符(形参表);;18. 引入派生类后的对象

9、指针引入派生类后,由于派生类是由基类派生出来的,因此指向基类的指针和指向派生类的指针是相关 的。(1 )基类的指针可以指向它的公有派生类的对象。但不允许指向它的私有派生类的对象。(2 )派生类的指针不允许指向它的基类的对象。(3)基类的指针指向它的公有派生类的对象时,只能用它来直接访问派生类中从基类继承来的成员,而不能直接访问公有派生类中定义的新成员。19. 模板的概念(1).函数模板与模板函数所谓函数模板,就是写一个函数模子,用这个模子套印出许多功能相同,参数类型和返回类型不同的函数。模板函数:函数模板实例化后的具体函数。(2)类模板和模板类类模板(也称为类属类或类生成类)是:允许用户为类定

10、义一种模子,使得类中的某些数据成员,某些成员函数的参数或 者返回值,能取任意数据类型20. 文件的输入输出在含有文件操作的程序中,必须有如下的预处理命令:# include vfstream.h复习思考题、即考试的A、B、C、D选择题和填空题一、分清下面的概念,那些是正确的,那些是错误的1. 面向对象程序的主要结构特点之一程序一般由类的定义和类的使用两部分组成。程序一般由函数定义和函数的使用两部分组成。 程序一般由变量的定义和变量的使用两部分组成。程序一般由对象的定义和对象的使用两部分 组成。程序中的一切操作都是通过调用函数来实现的。程序中的一切操作都是通过定义函数 来实现的。程序中的一切操作

11、都是通过向对象发送消息来实现的。程序中的一切操作都是通 过定义类来实现的。2 对象是现实世界中的一个实体,其特性V每个对象必须有一个名字。有属性描述。有一组操作。必须有一个关键字,以示区别。V定义对象时会自动调用构造函数。一定要定义一个构造函数。一定要有二个以上数据。3. 面向对象系统的特性是唯一性二义性可重用性 安全性V封装性V继承性 V多态性完整性类即是对象数组。V抽象和具体的关系。结构类型和结构体的关系。指针和所指的对象的关系。4 类和对象之间的关系是定义和被定义的关系。调用和被调用的关系。型和值的关系。V类型和变量之间的关系。V对一组具有共同的属性特征和行为特征的对象的抽象。类即是对象

12、V同一类数据的集合。同一记录的集合。同类函数的集合。现实世界5 类的概念是对同一类整型数据的集合。数组。 各种对象的集合。中所有对象的集合。6 构造函数的特征V构造函数的函数名与类名相同。 构造函数必须说明返回类型。 V编译系统会自动调用构造函数。V构造函数可以重载。构造函数的函数名与类名不相同。程序中要有调用构造函数的语句。7 析构函数的特征V个类中只能定义一个析构函数。析构函数名与类名不同。析构函数的定义只能在类体内析构函数可以有多个参数。一个类中能定义多个析构函数。V析构函数名与类名相同并加 。V编译系统会自动调用析构函数。析构函数可以有多个参数& 关于成员函数特征的下述描述成员函数一定

13、是内置函数。V成员函数可以重载。 V成员函数可以设置参数的缺省值。V成员函数可以是静态的。类定义中只给出成员函数的原型,而成员函数在类外定义。类定义中只给出成员函数的原型,而成员函数在类外定义并在之前加inline 。成员函数一定要在类内定义。可在类内定义。9 下列的各类函数中,不是类的成员函数构造函数析构函数友元函数拷贝构造函数 V主函数一般函数标准函数缺省参数的构造函数10. 友元的作用是什么,一个类的友元可以访问该类的什么V提高程序的运行效率。加强类的封装性。实现数据的隐藏性。增加成员函数的种类V私有成员和公有成员只能是私有成员只能是公有成员成员函数11. 对基类和派生类的关系描述中派生

14、类是基类的具体化。V派生类是基类的子集。V派生类是基类定义的扩延。派生类是基类的组合。V无论哪种派生,基类的私有成员不允许派生类的成员函数访问。无论哪种派生,基类的公有成员允许派生类的成员函数访问。V无论哪种派生,基类的保护成员允许派生类的成员函数访问。V无论哪种派生,基类的保护成员不允许派生类的成员函数访问。12. 派生类的对象对它的基类成员中,可以访问的是V公有继承的公有成员。公有继承的私有成员。公有继承的所有成员。私有继承的公有成员。私有继承的私有成员。私有继承的所有成员。V公有继承的保护成员。私有继承的保护成员。13. 对定义几个重载函数的要求中,错误的是。不可重载的函数的是。V要求参

15、数的个数不同。要求参数中至少有一个类型不同。要求函数名相同。V要求函数的返回值类型一定不同。普通的成员函数。友元函数。外部函数。V析构函数14. 可定义作运算符重载函数的是构造函数。V成员函数。 V友元函数。V类以外的函数。析构函数。无返回值的函数。15. 设置虚基类的目的是,对虚基类的论述,正确的是简化程序。V消除二义性。提高运行效率。减少目标代码。定义虚基类时加 virtual 。 V定义派生类时,在基类名前加virtual 。在基类的成员函数前加virtual 。在派生类名前加 virtual 。16. 不能重载运算符& V: newV ? :+( ) delete17. 关于动态联编的描述,动态联编称为运行时的多态性是通过什么来实现的。V动态联编是以虚函数为基础的。V动态联编是在运行时

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号