7.1 继承和派生
考点1 继承和派生的基本概念
继承的实质就是建造新的派生类。派生类从一个或多个以前定义的基类继承数据和函数,同时增加或重新定义数据和操作。这就产生了类的层次性。换句话说,继承就是创建一个具有别的类属性和行为的新类的能力。我们把这种通过特殊化已有的类来建立新类的过程,叫做“类的派生”,原有的类叫做“基类”,新建立的类叫做“派生类”从类的成员角度来看,派生类自动地将基类的所有数据成员和除了构造,析构函数之外的全部成员函数作为自己的成员,这叫做“继承”。基类和派生类又可以分别叫做“父类”和“子类”。在C++中有两种继承:单继承和多继承。对于单继承,派生类中只能有一个基类;对于多继承,派生类可以有多个基类。单继承和多继承的基类和派生类的关系如图7-1所示。
图7-1单继承与多继承
考点2 派生类的定义与构成
在C++中,定义派生类的一般形式为:
单继承的定义如下:
class<派生类名>:<继承方式><基类名>
{
<派生类新定义的成员>
};
多继承的定义如下:
class<派生类名>:<继承方式1><基类名1>,
<继承方式2><基类名2>,
…
<继承方式n><基类名n>
{
<派生类新定义的成员>
};
其中,<继承方式>即派生类的访问控制方式,用于规定基类成员在派生类中的访问权限,即基类成员在派生类中是公有的、私有的或保护的。常用的3种继承方式是公有继承(public),私有继承(private)和保护继承(protected)。缺省的类继承方式是私有继承private .
<派生类新定义的成员>是指定义的派生类自己的成员(除了从基类继承来的所有成员之外,新增加的数据成员和函数成员)。
派生类的成员由两部分构成:一部分是从基类继承得到的,一部分是自己定义的新成员,所有这些成员仍然分为公有(public),私有(private)和保护(protected)3种访问性质。
7.2 派生类对基类成员的访问
考点3 派生类对基类成员的访问
派生类继承了基类的全部数据成员和除了构造、析构函数之外的全部成员函数,但这些成员在派生类中的访问属性在派生过程中通过继承方式是可以调整的。通过公有继承(public),私有继承(private)和保护继承(protected)3种继承方式将具有公有(public),私有(private)和保护(protected)3种访问属性的基类成员在派生类中具有了新的访问属性。表7-l描述了派生类的继承访问属性。
表7-1派生类的继承访问属性
文章来源于领测软件测试网 https://www.ltesting.net/