CPP学习之——继承和派生(12.1-2)

一 概述

本文是继承的开篇文章,主要介绍继承和派生的内容,为方便用户理解:分以下两个方面讲解:

  • 什么是继承和派生
  • 复杂的继承和派生

二 什么是继承和派生

2.1 概念

  • 继承这个概念很好理解,比如说父亲是个矮子,儿子也是个矮子,那么儿子就是继承了父亲的矮个遗传信息,更加精确的说法是儿子从父亲那里首先继承了"人"的全部特性,然后又继承了父亲特有的矮个信息。
  • 因此这个就出现了两层继承:第一层是儿子继承了所有人类公有的特性,能站立行走,能说话,能思考,能创造和使用工具,第二层格式儿子继承了人类中的一员——父亲的某个特征,个子较其他人矮小一些。

2.2 图形表示

我们将这三层关系用图形来简单描述一下,就是

  • 在这里人类是基类,又叫父类,父亲是人类的一个子类,由于他除了具备人类的公有特征之外,还衍生出了自己的一个特征——个子比其他人要矮小,因此他又叫派生类
  • 儿子是父亲的子类,他也继承了父亲一些基本特征,并且他还衍生出了自己的一些特征,比如眼镜可能要比父亲大一些,身材也要比父亲强壮些,我们把他创建这些新特征的过程叫做派生,由于他也是一个类——儿子类,并且是从父亲那里派生出来的,所以我们把他叫做父亲的子类,又叫派生类

三 复杂的继承和派生

3.1 说明

  • 真实的世界是千变万化的,我们的软件要应付各种各样用户的要求和处理现实社会中的各种问题,那么也必须要尽量的贴近现实。
  • 我们来看一下真实世界中的继承和派生

3.2 真实世界派生

  • 从上图中我们看到,生物是最大的基类,然后下面派生出四个子类,跟着各个子类又一次派生出自己的子类,最后一只细分到人类这个子类,在这个子类中,再次派生出两个新类,男人和女人,为了简略起见,这里只对男人这个类进行了细分
  • 我们在这里采用图示的目的是为了让读者更加清楚地了解派生的含义,通常子类不加修改地延续父类的特征,我们把它叫做继承,而子类在延续父类特征的基础上又添加了自己的新特征,然后又添加了自己的特征——皮肤比较黑,我们把这种在原有类的基础上简历新类并且添加新特征的过程叫做"类的派生",把原有的类叫做"基类",又叫"父类",把新建立的类叫做"派生类",又叫做"子类"
  • 类的派生和继承,是面向对象程序语言中的一个很重要的概念,通过继承和派生程序员可以很快地在原有类的基础上建立一个新类,而不用花费巨大精力来重新设计一个类,这在多人合作和比较大的工程中使非常有用的。