1 / 121
文档名称:

第11章 第4篇 面向对象的程序设计.ppt

格式:ppt   页数:121
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第11章 第4篇 面向对象的程序设计.ppt

上传人:小猪猪 2011/12/2 文件大小:0 KB

下载得到文件列表

第11章 第4篇 面向对象的程序设计.ppt

文档介绍

文档介绍:第11章继承与派生
第12章多态性与虚函数
第13章输入输出流
第14章 C++工具
第4篇 面向对象的程序设计
第11章继承与派生
继承与派生的概念
派生类的声明方式
派生类的构成
派生类成员的访问属性
派生类的构造函数和析构函数
多重继承
基类与派生类的转换
继承与组合
继承在软件开发中的重要意义
面向对象程序设计有4个主要特点: 抽象、封装、继承和多态性。
要较好地进行面向对象程序设计,还必须了解面向对象程序设计另外两个重要特征——继承性和多态性。在本章中主要介绍有关继承的知识,在第12章中将介绍多态性。
面向对象技术强调软件的可重用性(software reusability) 。C++语言提供了类的继承机制,解决了软件重用问题。
在C++中可重用性是通过继承(inheritance)这一机制来实现的。继承是C++的一个重要组成部分。
一个类中包含了若干数据成员和成员函数。在不同的类中,数据成员和成员函数是不相同的。但有时两个类的内容基本相同或有一部分相同。
利用原来声明的类Student作为基础,再加上新的内容即可,以减少重复的工作量。 C++提供的继承机制就是为了解决这个问题。
在第8章已举了马的例子来说明继承的概念。。
继承与派生的概念
在C++中,所谓“继承”就是在一个已存在的类的基础上建立一个新的类。已存在的类(例如“马”)称为“基类(base class)”或“父类(father class)”。新建立的类(例如“公马”)称为“派生类(derived class)”或“子类(son class)”。。

一个新类从已有的类那里获得其已有特性,这种现象称为类的继承。通过继承,一个新建子类从已有的父类那里获得父类的特性。从另一角度说,从已有的类(父类)产生一个新的子类,称为类的派生。类的继承是用已有的类来建立专用类的编程技术。派生类继承了基类的所有数据成员和成员函数,并可以对成员作必要的增加或调整。一个基类可以派生出多个派生类,每一个派生类又可以作为基类再派生出新的派生类,因此基类和派生类是相对而言的。
以上介绍的是最简单的情况: 一个派生类只从一个基类派生,这称为单继承(single inheritance),这种继承关系所形成的层次是一个树形结构,。

请注意图中箭头的方向,在本书中约定,箭头表示继承的方向,从派生类指向基类。
一个派生类不仅可以从一个基类派生,也可以从多个基类派生。一个派生类有两个或多个基类的称为多重继承(multiple inheritance),。

关于基类和派生类的关系,可以表述为: 派生类是基类的具体化,而基类则是派生类的抽象。

假设已经声明了一个基类Student,在此基础上通过单继承建立一个派生类Student1:
class Student1: public Student//声明基类是Student
{public:
void display_1( ) //新增加的成员函数
{cout<<″age: ″<<age<<endl;
cout<<″address: ″<<addr<<endl;}
private:
int age; //新增加的数据成员
string addr; //新增加的数据成员
};
派生类的声明方式