《继承和派生类》PPT课件.ppt

《继承和派生类》PPT课件.ppt

ID:52372335

大小:222.51 KB

页数:39页

时间:2020-04-05

《继承和派生类》PPT课件.ppt_第1页
《继承和派生类》PPT课件.ppt_第2页
《继承和派生类》PPT课件.ppt_第3页
《继承和派生类》PPT课件.ppt_第4页
《继承和派生类》PPT课件.ppt_第5页
资源描述:

《《继承和派生类》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第11章继承和派生类11.1基类和派生类11.2单继承11.3多继承11.4虚基类11.5应用实例继承是面向对象程序设计的基本特征之一,是从已有的类基础上建立新类。继承性是面向对象程序设计支持代码重用的重要机制。面向对象程序设计的继承机制提供了无限重复利用程序资源的一种途径。通过C++语言中的继承机制,一个新类既可以共享另一个类的操作和数据,也可以在新类中定义已有类中没有的成员,这样就能大大的节省程序开发的时间和资源。11.1基类和派生类继承是类之间定义的一种重要关系。定义类B时,自动得到类A的操作和数据属性,使得程序员只需定义类A中所没有的新成分就可完成在类B的定义,这样

2、称类B继承了类A,类A派生了类B,A是基类(父类),B是派生类(子类)。这种机制称为继承。称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生出的新类称为派生类,又称为子类。派生类可以具有基类的特性,共享基类的成员函数,使用基类的数据成员,还可以定义自己的新特性,定义自己的数据成员和成员函数。在C++语言中,一个派生类可以从一个基类派生,也可以从多个基类派生。从一个基类派生的继承称为单继承;从多个基类派生的继承称为多继承。图11-1反映了类之间继承和派生关系。B1,B2的派生类(多继承)AB1B2C1C2C3A的派生类(单继承)C3的基类B1,B2的基类A的派生类

3、C1,C2,C3的基类B1的派生类图11-1类之间的继承与派生关系11.1.1派生类的定义格式单继承的定义格式如下:class<派生类名>:<继承方式><基类名>{public://派生类新定义成员members;members;members;};其中,<派生类名>是新定义的一个类的名字,它是从<基类名>中派生的,并且按指定的<继承方式>派生的。<继承方式>常作用如下三种关键字给予表示:public:表示公有继承;private:表示私有继承,可默认声明;protected:表示保护继承。多继承的定义格式如下:class<派生类

4、名>:<继承方式1><基类名1>,<继承方式2><基类名2>,…{public://派生类新定义成员members;members;members;};11.1.2派生类的三种继承方式在介绍公有继承(public)、私有继承(private)和保护继承(protected)的继承方式前,先看一个例子。例11-2:参考上述实例,说明公有继承(public)、私有继承(private)和保护继承(protected)是常用的三种继承方式:1.公有继承(public)。公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保

5、持原有的状态,而基类的私有成员仍然是私有的。2.私有继承(private)。私有继承的特点是基类的公有成员和保护成员作为派生类的私有成员,并且不能被这个派生类的子类访问。3.保护继承(protected)。保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员,并且只能被它的派生类成员函数或友元访问,基类的私有成员仍然是私有的。继承方式基类特性派生类特性公有继承publicpublicprotectedprotectedprivate不可访问私有继承publicprivateprotectedprivateprivate不可访问保护继承publicprotect

6、edprotectedprotectedprivate不可访问表11-1不同继承方式的基类和派生类特性(1)在公有继承时,派生类的对象可以访问基类中的公有成员;派生类的成员函数可以访问基类中的公有成员和保护成员。这里,一定要区分清楚派生类的对象和派生类中的成员函数对基类的访问是不同的。(2)在私有继承时,基类的成员只能由直接派生类访问,而无法再往下继承。(3)对于保护继承方式,这种继承方式与私有继承方式的情况相同。两者的区别仅在于对派生类的成员而言,对基类成员有不同的可访问性。(4)对于基类中的私有成员,只能被基类中的成员函数和友元函数所访问,不能被其他的函数访问。11.1

7、.3访问控制类通过派生定义,形成类的等级,派生类中用“类名::成员”访问基类成员。在建立一个类等级后,通常创建某个派生类的对象来使用这个类等级,包括隐含使用基类的数据和函数。派生类对基类成员可以有不同的访问方式:派生类可以覆盖基类成员派生类不能访问基类私有成员基类的公有段和保护段成员访问权对派生类保持不变(公有继承)基类的公有段和保护段成员成为派生类的私有成员(私有继承)具体说明如下:1.定义与派生类同名的成员如果派生类定义了与基类同名的成员,称派生类的成员覆盖了基类的同名成员,若要在派生类中使用基类同名成员,可以

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

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

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