公有、私有和受保护继承的区别

首先,我们可以认为每个类有三个用户,而公有、私有、受保护分别就是针对这三个用户而定义的。

几个概念

三个用户 分别是 类的创建者(基类)使用者继承者(派生类)
三种访问说明符 分别是 publicprivateprotected
访问说明符可以用在两个地方:①创建者创建的类内;②派生类继承的方式。

从用户的角度理解

① 把一个类(基类)视作A,类 A中三种不同的访问说明符用作区分访问用户

对于一个类的创建者而言,毋庸置疑,其类内所有成员(包括友元)可以访问任意访问说明符下的成员。
private 下的成员只有在类内的所有成员(包括友元)可以访问,使用者和派生类均不可访问。为类本身而定义。

使用者
public 为类的使用者而生,只有 public 中提供的接口可以被使用。

派生类
涉及到派生类,就涉及到 基类 以及 派生类的继承方式
protected 为派生类而生,基类(上述中的类的创建者)想让派生类及其友元访问而不想让使用者访问的成员。当然 public部分派生类也可访问。

② 此处派生类又涉及到不同的继承方式的问题。

不同的继承方式并不影响派生类对基类的访问权限。

派生类B 继承 基类A
public 继承:B 继承来的成员访问权限不变。
protected 继承:继承来的成员访问权限 public降为protected,其他不变。
private 继承:继承来的成员访问权限 public、protected均变为private。
外加派生类新添加的不同访问权限的成员 共同组成新的类 B。

接下来 B 作为 其他类C 的基类时,同上所有规则。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值