C++程序设计语言 第1-8章 教学课件 作者 揣锦华_第7章 继承与派生.ppt

ID:50085246

大小:811.50 KB

页数:143页

时间:2020-03-08

C++程序设计语言 第1-8章 教学课件 作者 揣锦华_第7章  继承与派生.ppt_第1页
C++程序设计语言 第1-8章 教学课件 作者 揣锦华_第7章  继承与派生.ppt_第2页
C++程序设计语言 第1-8章 教学课件 作者 揣锦华_第7章  继承与派生.ppt_第3页
C++程序设计语言 第1-8章 教学课件 作者 揣锦华_第7章  继承与派生.ppt_第4页
C++程序设计语言 第1-8章 教学课件 作者 揣锦华_第7章  继承与派生.ppt_第5页
资源描述:

《C++程序设计语言 第1-8章 教学课件 作者 揣锦华_第7章 继承与派生.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章继承与派生7.1继承与派生7.2多继承7.3类的继承方式7.4派生类的构造和析构函数7.5派生中成员的标识与访问7.6虚基类7.1继承与派生7.1.1继承与派生的概念在面向对象的程序设计中,大量使用继承和派生。例如,我们要定义不同的窗口,因为窗口都具有共同的特征,如窗口标题,窗口边框及窗口最大、最小等,我们不需要也没有必要将每一个窗口定义一遍。这时我们可以先定义一个窗口类(系统的类库中已存在),然后以这个窗口类作为基类派生出其它不同的窗口类。所谓继承,就是新的类从已有类那里得到已有的特性。从另一个

2、角度来看,从已有类产生新类的过程就是类的派生。已有的类称为基类或父类,产生的新类称为派生类或子类。派生类同样也可以作为基类再派生新的类,这样就形成了类的层次结构。类的继承和派生的层次结构,可以说是人们对自然界中的事物进行分类、分析和认识的过程在程序设计中的体现。现实世界中的事物都是相互联系、相互作用的,人们在认识过程中,根据事物的实际特征,抓住其共同特性和细小差别,利用分类的方法进行分析和描述。例如,对于交通工具的分类见图7-1。图7-1交通工具分类层次图这个分类树反映了交通工具的派生关系。最高层是抽象

3、程度最高的交通工具,是最具有普遍和一般意义的概念。下层(火车、汽车、飞机和轮船)具有了上层交通工具的特性,同时加入了自己的新特征。而最下层是最为具体的,例如汽车又可分为卡车、小汽车和旅游车。在这个层次结构中,由上到下,是一个具体化、特殊化的过程;由下到上,是一个抽象化的过程。上下层之间的关系就可以看作是基类与派生类的关系。类的派生实际是一种演化、发展过程,即通过扩展、更改和特殊化,从一个已知类出发建立一个新类。通过类的派生可以建立具有共同关键特征的对象家族,从而实现代码的重用。这种继承和派生的机制对于已

4、有程序的发展和改进是极为有利的。7.1.2派生类的声明在C++中,派生类的一般声明语法如下:class<派生类名>:[继承方式]<基类名>{派生类成员声明;};其中:①class是类声明的关键字,用于告诉编译器下面声明的是一个类。②派生类名是新生成的类名。③继承方式规定了如何访问从基类继承的成员。继承方式关键字为private、public和protected,分别表示私有继承、公有继承和保护继承。如果不显式地给出继承方式关键字,系统的默认值就认为是私有继承(private)。类的继承方式指定了派生类成

5、员以及类外对象对于从基类继承来的成员的访问权限,这将在7.3节中详细介绍。④派生类成员指除了从基类继承来的所有成员之外,新增加的数据和函数成员。这些新增的成员正是派生类不同于基类的关键所在,是派生类对基类的发展。当重用和扩充已有的代码时,就是通过在派生类中新增成员来添加新的属性和功能。可以说,这就是类在继承基础上的进化和发展。例如,从基类vehicle(汽车)公有派生car(小汽车)类的声明形式如下:classvehicle//基类vehicle类的声明{private://私有数据成员intwheel

6、s;floatweight;public://公有函数成员voidinitvehicle(intin_wheels,floatin_weight);intget_wheels();floatget_weight();//...};classcar:publicvehicle//派生类car类的声明{private://新增私有数据成员intpassenger_load;public://新增公有函数成员voidinitcar(intin_wheels,floatin_weight,intpeople=4

7、);intget_passengers();//...};7.1.3派生类生成过程在C++程序设计中,进行派生类的声明,给出该类的成员函数的实现之后,整个类就算完成了,这时就可以由它来生成对象进行实际问题的处理。仔细分析派生新类这个过程,实际是经历了三个步骤:吸收基类成员,改造基类成员和添加新的成员。面向对象的继承和派生机制,其最主要的目的是实现代码的重用和扩充。因此,吸收基类成员就是一个重用的过程,而对基类成员进行调整、改造以及添加新成员就是原有代码的扩充过程,二者是相辅相成的。下面以某公司人员管理系

8、统为例,分别对这几个步骤进行解释。基类employee和派生类technician声明如下,类的实现部分略去。classemployee{protected:char*name;//姓名intindividualEmpNo;//个人编号intgrade;//级别floataccumPay;//月薪总额staticintemployeeNo;//本公司职员编号目前最大值public:employee();~employee();voidpay

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
正文描述:

《C++程序设计语言 第1-8章 教学课件 作者 揣锦华_第7章 继承与派生.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章继承与派生7.1继承与派生7.2多继承7.3类的继承方式7.4派生类的构造和析构函数7.5派生中成员的标识与访问7.6虚基类7.1继承与派生7.1.1继承与派生的概念在面向对象的程序设计中,大量使用继承和派生。例如,我们要定义不同的窗口,因为窗口都具有共同的特征,如窗口标题,窗口边框及窗口最大、最小等,我们不需要也没有必要将每一个窗口定义一遍。这时我们可以先定义一个窗口类(系统的类库中已存在),然后以这个窗口类作为基类派生出其它不同的窗口类。所谓继承,就是新的类从已有类那里得到已有的特性。从另一个

2、角度来看,从已有类产生新类的过程就是类的派生。已有的类称为基类或父类,产生的新类称为派生类或子类。派生类同样也可以作为基类再派生新的类,这样就形成了类的层次结构。类的继承和派生的层次结构,可以说是人们对自然界中的事物进行分类、分析和认识的过程在程序设计中的体现。现实世界中的事物都是相互联系、相互作用的,人们在认识过程中,根据事物的实际特征,抓住其共同特性和细小差别,利用分类的方法进行分析和描述。例如,对于交通工具的分类见图7-1。图7-1交通工具分类层次图这个分类树反映了交通工具的派生关系。最高层是抽象

3、程度最高的交通工具,是最具有普遍和一般意义的概念。下层(火车、汽车、飞机和轮船)具有了上层交通工具的特性,同时加入了自己的新特征。而最下层是最为具体的,例如汽车又可分为卡车、小汽车和旅游车。在这个层次结构中,由上到下,是一个具体化、特殊化的过程;由下到上,是一个抽象化的过程。上下层之间的关系就可以看作是基类与派生类的关系。类的派生实际是一种演化、发展过程,即通过扩展、更改和特殊化,从一个已知类出发建立一个新类。通过类的派生可以建立具有共同关键特征的对象家族,从而实现代码的重用。这种继承和派生的机制对于已

4、有程序的发展和改进是极为有利的。7.1.2派生类的声明在C++中,派生类的一般声明语法如下:class<派生类名>:[继承方式]<基类名>{派生类成员声明;};其中:①class是类声明的关键字,用于告诉编译器下面声明的是一个类。②派生类名是新生成的类名。③继承方式规定了如何访问从基类继承的成员。继承方式关键字为private、public和protected,分别表示私有继承、公有继承和保护继承。如果不显式地给出继承方式关键字,系统的默认值就认为是私有继承(private)。类的继承方式指定了派生类成

5、员以及类外对象对于从基类继承来的成员的访问权限,这将在7.3节中详细介绍。④派生类成员指除了从基类继承来的所有成员之外,新增加的数据和函数成员。这些新增的成员正是派生类不同于基类的关键所在,是派生类对基类的发展。当重用和扩充已有的代码时,就是通过在派生类中新增成员来添加新的属性和功能。可以说,这就是类在继承基础上的进化和发展。例如,从基类vehicle(汽车)公有派生car(小汽车)类的声明形式如下:classvehicle//基类vehicle类的声明{private://私有数据成员intwheel

6、s;floatweight;public://公有函数成员voidinitvehicle(intin_wheels,floatin_weight);intget_wheels();floatget_weight();//...};classcar:publicvehicle//派生类car类的声明{private://新增私有数据成员intpassenger_load;public://新增公有函数成员voidinitcar(intin_wheels,floatin_weight,intpeople=4

7、);intget_passengers();//...};7.1.3派生类生成过程在C++程序设计中,进行派生类的声明,给出该类的成员函数的实现之后,整个类就算完成了,这时就可以由它来生成对象进行实际问题的处理。仔细分析派生新类这个过程,实际是经历了三个步骤:吸收基类成员,改造基类成员和添加新的成员。面向对象的继承和派生机制,其最主要的目的是实现代码的重用和扩充。因此,吸收基类成员就是一个重用的过程,而对基类成员进行调整、改造以及添加新成员就是原有代码的扩充过程,二者是相辅相成的。下面以某公司人员管理系

8、统为例,分别对这几个步骤进行解释。基类employee和派生类technician声明如下,类的实现部分略去。classemployee{protected:char*name;//姓名intindividualEmpNo;//个人编号intgrade;//级别floataccumPay;//月薪总额staticintemployeeNo;//本公司职员编号目前最大值public:employee();~employee();voidpay

显示全部收起
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭