首页 > 学院 > 开发设计 > 正文

派生与继承

2019-11-08 01:13:34
字体:
来源:转载
供稿:网友

介绍

类与类之间可以有派生继承的关系,这两种关系是相互的,即父类(基类)派生出子类(派生类),子类(派生类)继承自父类(基类)。

派生方式有三种:public(公共派生)、PRotected(保护派生)和private(私有派生),不同的派生方式导致不同权限的父类成员派生到子类之后拥有不同的权限。举个例子:Father类中有个成员public int M,然后Father类通过私有派生(private)的方式派生出一个Son类,那么Father类中的M对Son来说会是private的。为什么会这样呢?请看下表规定。

基类成员在各自派生类中的存取权限

派生方式 在基类中的存取权限 在派生类中的存取权限
public public public
public protected protected
public private (inaccessible)
protected public protected
protected protected protected
protected private (inaccessible)
private public private
private protected private
private private (inaccessible)

这个表看似很复杂,其实不然。它们有这样的规律:

基类中的private成员,无论采用何种派生方式,对派生类而言,都是无法访问的 基类中的其他成员(public和protected),在派生类中的存取权限是【该成员在基类中的存取权限】和【派生方式】两者中最严格的那个(最严格-private-protected-public-最宽松)。

几点注意

1.一个类可派生出多个派生类

2.一个类可有一个或多个基类,称为单一继承多重继承

3.派生类又可以有派生类,称为多级继承

4.继承关系不可循环

5.基类的友元关系、基类的构造函数和析构函数都不能被派生类所继承


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表