如果说类是包括C++、Java在内的这些现代编程语言必不可少的组成部分的话,那么,继承、派生就是和类同生同灭的关系。通过继承使类和对象适应不断变化的问题域,尽可能地重复利用已有的类和对象,改造并扩充它们,提高了程序设计的效率。由于成员具有不同的权限,在继承时它们的访问权限就会有相应的变化,接下来将一一介绍。
继承是类与类之间的一种发展关系,被继承的类称作基类(或者父类),二继承基类的类称作派生类(或者子类)。由清华大学出版社出版的《C++语言程序设计教程》一书中指出通过继承,一个新类将在原有的、已定义类的基础上派生出来,它继承了原有类的属性和行为,并且可以扩充新的属性和行为,或者对原有类中的成员进行更新。
由于类和类之间存在复杂的关系,自然而然,继承就会存在不同的方式,根据继承个数的不同可以分为单继承和多继承,每一个派生类都有且只有一个基类称之为单重继承,如果一个派生类有两个或者两个以上的基类则称之为多重继承。
图示:
*继承方式:
继承的方式都有公有继承、私有继承、保护继承。基类和派生类中不同的继承方式复合使用之后的基类和派生类的成员属性如下表所示
基类中的属性 | 继承方式 | 在派生类中的访问方式 |
公有成员 |
共有继承 | 公有 |
保护成员 | 保护 | |
私有成员 | 不可直接访问 | |
公有成员 |
保护继承 | 保护 |
保护成员 | 保护 | |
私有成员 | 不可直接访问 | |
公有成员 |
私有继承 | 私有 |
保护成员 | 私有 | |
私有成员 | 不可直接访问 |
*派生
派生类拥有基类的特性称作继承,由基类产生派生类的过程称为派生。继承和派生又是一对同生同灭的关系。