欢迎来到天天文库
浏览记录
ID:59204815
大小:533.50 KB
页数:38页
时间:2020-09-26
《第2章 类和对象的特性ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章类和对象的特性1第2章类和对象的特性2.1面向对象程序设计方法概述2.2类的声明和对象的定义2.3类的成员函数2.4对象成员的引用2.5类和对象的简单应用举例2.6类的封装性和信息隐蔽22.1面向对象程序设计方法概述C++是基于过程和面向对象的混合型语言。基于过程的程序是由一个个函数组成的,面向对象的程序是由一个个类和对象组成的。面向对象程序设计的主要特点:抽象封装继承多态31.对象客观世界中任何一个事物都可以看做一个对象班级对象静态特征(属性):所属的系和专业、班级的人数,所住的宿舍等;动态特征(行为):上课、开会、体育比赛等。人对象静态特征(属性):性别、年龄
2、、身高、体重等;动态特征(行为):起床、吃饭、运动、睡觉等。4客观世界对象C++对象数据函数(方法method)消息触发行为调用函数52.封装与信息隐蔽封装将有关的数据和操作代码(函数)封装在一个对象中,形成一个基本单位,各个对象之间相对独立,互不干扰。信息隐蔽将对象中封装的部分信息对外隐蔽,只留下少量接口(函数)与外界联系,这种做法称为信息隐蔽(imformationhiding)。信息隐蔽有利于数据安全,防止无关的人了解和修改数据。63.抽象当各对象有相同的属性和行为时,可以将它们抽象为一种类型,在C++中,这种类型就称为“类(class)”。例如:可将所有的人对象
3、抽象为人类。例如:C和C++中的数据类型就是对一批具体的数的抽象。类是对象的抽象,而对象则是类的特例。74.继承与重用“马”是父类,或称为基类,“母马”是从“马”派生出来的,称为子类或派生类。采用继承的方法可以很方便地利用一个已有的类建立一个新的类。这就是常说的“软件重用”(softwarereusability)的思想。已建立了"马"类马类{属性:年龄、身高、颜色行为:吃草、奔跑};现在要建立"母马"类母马类{行为:下崽};:继承马类85.多态性在C++中,多态性(polymorphism)是指:由继承而产生的不同的子类,其对象对同一消息会作出不同的响应。文件(父类)
4、.txt文本文件(子类).exe可执行文件(子类)……双击(消息)启动文本编辑器并打开该文件行为执行此程序96.面向对象程序设计的任务一、设计所需的各种类和对象,即决定把哪些数据和操作封装在一起;二、考虑怎样向有关对象发送消息(调用对象的函数),以完成所需的任务。102.2类的声明和对象的定义与结构体类型类似,在C++中也是先声明一个类类型,然后用它去定义若干个类类型的对象。对象就是类类型的一个变量。类的分类用户自己声明的类。C++向用户提供的类库中的类:需卷入头文件类是抽象的,不占用内存,而对象是具体的,占用存储空间。11一、声明类类型class类名{private:
5、成员数据;成员函数;public:成员数据;成员函数;protected:成员数据;成员函数;};关键字类名私有的公有的保护的分号不能少classStudent//声明类类型{private://声明以下部分为私有的intnum;//学号charname[20];//姓名charsex;//性别public://声明以下部分为公用的voiddisplay(){cout<<"num:"<6、e(私有的)成员:只能被类内函数或友元函数使用public(公有的)成员:类内、类外均可使用protected(保护的)成员:能被类内、子类函数或友元函数使用成员数据、成员函数132.一旦使用了访问限定符,该限定符一直有效,直到出现另一个访问限定符或类体结束为止。3.在声明类类型时,各访问限定部分无先后次序。现在的C++程序多数先写public部分,后写private部分,可使用户将注意力集中在能被外界调用的成员上,使阅读者的思路更清晰一些。4.每一个限定符在类体中可使用多次。但是为了使程序清晰,使每一种成员访问限定符在类定义体中只出现一次。5.如果未加说明,类中成员默7、认的访问权限是private,即私有的。146.类只是声明了一种类型(模板),所以类中的任何成员数据均不能使用关键字extern,auto或register限定其存储类别(static除外)。7.在声明类时,并不为类分配存储空间,所以,在声明类中的数据成员时,不能对其初始化。classTest{intx=5,y=6;//不允许初始化externfloatx;//不允许限定存储类别};15二、定义对象的方法1.先声明类类型,然后再定义对象classA{……};Aa1,a2;voidmain(void){Aa3,a4;}2.在声明类类型的同时
6、e(私有的)成员:只能被类内函数或友元函数使用public(公有的)成员:类内、类外均可使用protected(保护的)成员:能被类内、子类函数或友元函数使用成员数据、成员函数132.一旦使用了访问限定符,该限定符一直有效,直到出现另一个访问限定符或类体结束为止。3.在声明类类型时,各访问限定部分无先后次序。现在的C++程序多数先写public部分,后写private部分,可使用户将注意力集中在能被外界调用的成员上,使阅读者的思路更清晰一些。4.每一个限定符在类体中可使用多次。但是为了使程序清晰,使每一种成员访问限定符在类定义体中只出现一次。5.如果未加说明,类中成员默
7、认的访问权限是private,即私有的。146.类只是声明了一种类型(模板),所以类中的任何成员数据均不能使用关键字extern,auto或register限定其存储类别(static除外)。7.在声明类时,并不为类分配存储空间,所以,在声明类中的数据成员时,不能对其初始化。classTest{intx=5,y=6;//不允许初始化externfloatx;//不允许限定存储类别};15二、定义对象的方法1.先声明类类型,然后再定义对象classA{……};Aa1,a2;voidmain(void){Aa3,a4;}2.在声明类类型的同时
此文档下载收益归作者所有