面向对象程序设计语言C++ - 第6章 继承和派生ppt课件.ppt

面向对象程序设计语言C++ - 第6章 继承和派生ppt课件.ppt

ID:58988506

大小:390.50 KB

页数:39页

时间:2020-09-27

面向对象程序设计语言C++ - 第6章 继承和派生ppt课件.ppt_第1页
面向对象程序设计语言C++ - 第6章 继承和派生ppt课件.ppt_第2页
面向对象程序设计语言C++ - 第6章 继承和派生ppt课件.ppt_第3页
面向对象程序设计语言C++ - 第6章 继承和派生ppt课件.ppt_第4页
面向对象程序设计语言C++ - 第6章 继承和派生ppt课件.ppt_第5页
资源描述:

《面向对象程序设计语言C++ - 第6章 继承和派生ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、面向对象程序设计语言C++电子科技大学示范性软件学院1第六章继承和派生C++的类提供了良好的模块分解技术,也具有可重用软件所期望的品质:它们是相似一致的模块,通过信息隐藏,将它们的接口和实现清楚地分开来。但是,仅有这些是不够的,我们还希望在类的基础上能取得更好的可重用性和可扩充性的目标。面向对象的继承技术提供了实现上述目标的有力手段。2第六章继承和派生6.1派生类的概念6.1.1为什么要使用继承在自然界中,继承这个概念是非常普遍的。小猫仔继承了猫爸猫妈的特性,所以长得是猫鼻子猫眼,我们不会把它错认为是小狗。继承就是这

2、样,会将一些本质的特性遗传给子代,使子代在很大程度上具有与父代相同的性质。当然,子代同时还具有父代没有的特性。下面的两张图显示了两种不同的分类情况:3第六章继承和派生6.1派生类的概念6.1.1为什么要使用继承交通工具分类层次图交通工具汽车飞机火车轿车旅行车慢车快车4第六章继承和派生6.1派生类的概念6.1.1为什么要使用继承动物哺乳动物爬虫动物啮齿动物猿科猫科熊猫野猫家猫动物分类层次图5第六章继承和派生6.1派生类的概念6.1.1为什么要使用继承在最简单的情况下,一个类B继承类A或者从类A派生类B,通常将类A称为基

3、类(父类),类B称为派生类(子类)。这时,类B的对象具有类A对象的所有特性,甚至还会更多一些。也可以这样说,类B从类A派生出来。这意味着类B至少描述了与类A同样的接口,至少包含了同类A一样的数据,可以共享类A的成员函数。例6-1说明了类A与类B之间的这种关系。6第六章继承和派生6.1派生类的概念6.1.1为什么要使用继承classA{public:intpubA;pirvate:intpriA;};classB:publicA{public:intpubB;private:intpriB;};(例6-1)priApu

4、bApriApubApriBpubB7第六章继承和派生6.1派生类的概念6.1.1为什么要使用继承继承就是从先辈处得到属性和行为特征。类的继承,是新的类从已有的类获取已有的特征;换个说法就是从已有类产生新类的过程就是派生。类的派生实际是通过扩展、更改和特殊化,从一个已知类建立一个新类的过程。通过类的派生,可以建立具有共通关键特征的对象家族,从而实现父类代码的重用,这种继承和派生机制对于已有程序的发展和改进是极为有力的。可以描述基类和派生类的关系为:派生类是基类的具体化,基类是派生类的抽象。即基类综合了派生类的公共特征

5、,派生类则在基类的基础上增加了某些特征,把抽象类变成具体的、实用的类型。8第六章继承和派生6.1派生类的概念6.1.1为什么要使用继承那么,派生类定义的成员能否与基类的成员同名呢?C++允许派生类可以重新定义基类的成员。如果派生类定义了与基类同名的成员,称派生类的成员覆盖了基类的同名成员。如果要在派生类中使用基类的同名成员,可以显式地使用下述类名限定符:类名::成员来使用基类的成员。(例6-3)9第六章继承和派生6.1派生类的概念6.1.1为什么要使用继承一个派生类从外部看,非常类似一个基类,但内部则有不同。特别地,

6、一个派生类没有权力访问它的基类的私有数据,就像其他任何类一样。起初一看,这似乎太严格了,然而以正确的方式考察,这样做的确有意义,一个类的私有成员对其他类(包括派生类)不可访问的原因是确保没有其他类的成员函数依赖它们。这就允许软件适应未来的改变,赋予面向对象方法以更大的能力。10第六章继承和派生6.1派生类的概念6.1.1为什么要使用继承派生类的生成过程包括如下三步:(1)继承基类的所有成员:将基类成员全盘吸收。这样,派生类实际上包含了他所有基类中除了构造和析构函数之外的所有成员;(2)改造基类成员:一个通过不同的派生

7、方式改造基类成员的访问控制问题;第二个方法就是在派生类中声明一个和基类成员同名的成员覆盖基类成员进行改造;(3)增加新的成员:根据派生类的实际特征,增加不同于基类的成员。11第六章继承和派生6.1派生类的概念6.1.2派生类的声明和继承方式C++中,派生类的一般语法形式为class派生类名:基类类名,基类类名,…{…};其中:“:”后面罗列的是基类类名表,它是由“,”隔开一串元素,每个元素都是“基类类名”。表示访问描述符,称为为派生方式。派生方式有私有派

8、生(当为private或缺省时),公有派生(当为public)和保护派生(当为protected)等三种。12第六章继承和派生6.1派生类的概念6.1.2派生类的声明和继承方式1.公有派生在公有派生情况下,基类保护成员和公有成员的访问权限在派生类中保持不变。即基类的保护成员在派生类中仍然是保护成员

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

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

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