继承与派生的概念、什么是继承和派生

1个回答

  • 面向对象程序设计有4个主要特点:抽象、封装、继承和多态性.

    要较好地进行面向对象程序设计,还必须了解面向对象程序设计另外两个重要特征继承性和多态性.

    本讲主要介绍有关继承的知识,后续章节将介绍多态性.

    面向对象技术强调软件的可重用性(software reusability).C++语言提供了类的继承机制,解决了软件重用问题.

    在C++中可重用性是通过继承(inheritance)这一机制来实现的.

    继承是C++的一个重要组成部分.一个类中包含了若干数据成员和成员函数.在不同的类中,数据成员和成员函数是不相同的.但有时两个类的内容基本相同或有一部分相同.利用原来声明的类Student作为基础,再加上新的内容即可,以减少重复的工作量.C++提供的继承机制就是为了解决这个问题.

    在C++中,所谓继承就是在一个已存在的类的基础上建立一个新的类.已存在的类(例如马)称为基类(base class )或父类(father class ).新建的类(例如公马)称为派生类(derived class )或子类(son class ).

    一个新类从已有的类那里获得其已有特性,这种现象称为类的继承.

    通过继承,一个新建子类从已有的父类那里获得父类的特性.

    从另一角度说,从已有的类(父类)产生一个新的子类,称为类的派生.

    类的继承是用已有的类来建立专用类的编程技术.

    派生类继承了基类的所有数据成员和成员函数,并可以对成员作必要的增加或调整.一个基类可以派生出多个派生类,每一个派生类又可以作为基类再派生出新的派生类,因此基类和派生类是相对而言的.

    以上介绍的是最简单的情况:

    一个派生类只从一个基类派生,这称为

    单继承(single inheritance)

    ,这种继承关系所形成的层次是一个树形结构.一个派生类不仅可以从一个基类派生,也可以从多个基类派生.

    一个派生类有两个或多个基类的称为

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