Visual_C++程序设计案例教程 教学课件 作者 谭建辉第7章 继承与派生.ppt

Visual_C++程序设计案例教程 教学课件 作者 谭建辉第7章 继承与派生.ppt

ID:50307997

大小:945.00 KB

页数:44页

时间:2020-03-07

Visual_C++程序设计案例教程 教学课件 作者 谭建辉第7章 继承与派生.ppt_第1页
Visual_C++程序设计案例教程 教学课件 作者 谭建辉第7章 继承与派生.ppt_第2页
Visual_C++程序设计案例教程 教学课件 作者 谭建辉第7章 继承与派生.ppt_第3页
Visual_C++程序设计案例教程 教学课件 作者 谭建辉第7章 继承与派生.ppt_第4页
Visual_C++程序设计案例教程 教学课件 作者 谭建辉第7章 继承与派生.ppt_第5页
资源描述:

《Visual_C++程序设计案例教程 教学课件 作者 谭建辉第7章 继承与派生.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章   继承与派生7.1经典案例引入(人员信息管理)继承与派生是面向对象程序设计中的一个重要组成部分,它所涉及到的主要内容包括继承与派生的基本概念、继承方式、派生类的构造过程和析构过程、多继承等重要知识。为了让读者能更形象地了解到继承与派生的概念以及它们的作用和使用方法,下面我们一起来看看一个简单而又实用的案例。该案例的主要功能是实现校园人员(学生和教师)信息的管理,用户可以输入一个人员的相关信息,也可以显示一个人员的相关信息。该案例运行的具体过程和结果如下所示。步骤1:经编译无误后,执行程序,运行结果如下图所示。从运行结果看,先执行了person类的构造函数,然后执行了stud

2、ent类的构造函数,接着还执行了student类对象的显示操作。然后等待用户输入一个人员基本信息。步骤2:输入一个学生人员的基本信息,按回车,运行结果如下图所示。屏幕上重新显示刚才输入的学生信息,接下来又分别执行了person类和teacher类的构造函数,并且等待用户输入一个教师人员的基本信息。步骤3:再次输入一个人员的基本信息,按回车,运行结果如下图所示。屏幕上又重新显示刚才输入的教师信息,然后依次执行teacher类、person类、student类、person类的析构函数。7.1.1案例分析经过仔细观察上述案例的执行过程,读者是否已经想到实现该案例所需用到的知识和方法呢?下

3、面我们来具体分析一下上述案例的设计过程。从案例实现的功能来看,由于该程序用于管理校园人员的基本信息,所以在进行设计之前我们需要考虑到两个方面的问题:其一,对于这些被管理的校园人员,我们应该将其划分为几个不同的类别?其二,这些不同类别的人员之间有哪些共同拥有的属性和操作,又有哪些各自特有的属性和操作?(1)共有的属性包括姓名、性别、出生日期、家庭住址等,共有的操作包括输入和输出这些共有的属性。(2)特有的属性,对于学生类,他们有入学日期、入学总分、所在系别、所学专业等,对于教师类,他们有进校日期、研究方向、教师级别等;特有的操作,对于学生类,除了输入输出共同的属性之外,还要输入和输出他

4、们的入学日期、入学总分、所在系别、所学专业等,对于教师类,还要输入和输出他们的进校日期、研究方向、教师级别等。当然,除了上述的共性和特性之外,读者在实际的功能分析中还可以想到更多其他的共性和特性,可以自行增减。7.1.2解决案例知识从上面的分析中可以看出,学生类和教师类有着某些共有的属性和操作,这些共有的部分我们可以利用类的封装功能将它们封装在一个较上层的基类中,然后再由该基类向下分别派生出有着某些不同属性和操作的学生类和教师类,这些不同的部分可以分别添加到这两个派生类。这里需要用到的知识是先定义一个基类(person类),person类中封装了所有的共有属性和操作,然后再分别派生出

5、两个派生类(student类和teacher类),其中student类包含了学生类特有的属性和操作,teacher类包含了教师类特有的属性和操作。在主函数的设计中,我们先声明一个student类对象S,系统会自动调用基类和student类的构造函数来初始化对象,然后通过该对象来调用它的显示操作Show(),显示出来的都是初始化数据。接着调用它的输入操作Read(),并输入一个学生数据,然后再将这些数据显示出来,不再是初始化数据。接下来,我们再声明一个teacher类对象T,系统也会自动调用基类和teacher类的构造函数来初始化对象,然后再通过该对象来调用它的输入和显示操作。从运行结

6、果可以看到,S对象和T对象自动继承了基类中的共有属性和操作,而对于自己特有的属性还得从自己的类定义取得。具体怎样定义基类和派生类,以及怎样访问派生类的各个成员,这是本章接下来要重点讲述的内容。7.2类的继承与派生1、继承和派生在原有类的基础上,通过添加一些新的、特有的属性和操作而产生出另一个新类的过程,我们称它为从原有类派生出新类,派生出的新类可以自动继承原有类的属性和操作,这也大大提高了类代码的重用。在派生的过程中原有的类称为基类(或父类),新生的类称为派生类(或子类)。例如,交通工具类可以派生出汽车类和火车类,其中交通工具类是基类,汽车类和火车类是派生类;生物类可以派生出动物类、

7、植物类和微生物类,其中生物类是基类,动物类、植物类和微生物类是派生类;电脑类可以派生出台式电脑类和手提电脑类,其中电脑类为基类,台式电脑类和手提电脑类为电脑类的派生类。客观世界中像这样的实例有很多很多,读者自己也可以列举一些。实质上,派生类的生成过程包括三个步骤:(1)继承基类成员:继承基类中除构造函数和析构函数以外的全部成员。(2)确定访问权限:根据继承方式确定继承成员在派生类中的访问权限问题。(3)增加新的成员:派生类新增成员是派生类不同于基类的地方,

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

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

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