注:本文摘自unixfy博文,感谢作者整理!

关于访问控制权限和继承方式

关于访问权限和继承方式
访问权限有三种:public、protected、private
继承也有三种:public、protected、private,这里不考虑 virtual 继承。
继承时的权限,不是针对本类内的访问权限,而是针对该派生类的客户端代码(包括其派生类)的访问权限。
即是,对于基类中的 public、protected 成员,如果一个派生类 private 继承自该基类,则这些成员还是可以在派生类中访问的,只是不能在该派生类的客户代码中被直接访问,或者在该派生类的派生类中直接访问。
也就是说,继承的方式是针对派生类的客户端代码来讲的,对派生类内部不起作用,不管是 public、protected、private 继承,派生类中总是可以访问基类中的 public、protected 成员,基类中的 private 成员永远不能在派生类中直接访问,不论通过哪种方式。
归纳一下:
成员访问权限        继承方式        派生类中能否访问        派生类的派生类中        派生类的客户端代码
public              public          能                      能                      能
public              protected       能                      能                      不能
public              private         能                      不能                    不能
protected           public          能                      能                      不能
protected           protected       能                      能                      不能
protected           private         能                      不能                    不能
private             public          不能                    不能                    不能
private             protected       不能                    不能                    不能
private             private         不能                    不能                    不能

从这个表中,我们更能清除地看到成员访问权限和继承方式之间的组合,对派生类中的访问、派生类的派生类中的访问、派生类的客户端代码的访问控制情况。

继承的方式是在原有基类访问权限的基础上,给在派生类的访问权限又加了一个效应。取两个中最严格的那个权限,这个取得的权限是派生类成员的访问权限,而这种访问权限对派生类的客户端代码和派生类的派生类代码其访问控制作用。

转载于:https://www.cnblogs.com/lixiaohui-ambition/archive/2012/07/13/2590023.html

关于继承方式和访问权限相关推荐

  1. C++中public,protected,private派生类继承问题和访问权限问题

    当一个子类从父类继承时,父类的所有成员成为子类的成员,此时对父类成员的访问状态由继承时使用的继承限定符决定. 1.如果子类从父类继承时使用的继承限定符是public,那么 (1)父类的public成员 ...

  2. C++学习 十五、类继承(1)基类,派生类,访问权限,protected

    C++学习 十五.类继承(1)基类,派生类 前言 类继承 类的关系与继承 基类, 派生类 基类 派生类 构造函数,析构函数 文件位置 访问权限 protected 后记 前言 本篇开始学习C++类的继 ...

  3. JAVASE零基础入门——package、封装、继承、访问权限修饰符、super、重写、Javabean 和 final 关键字

    目录 一.Package 二.封装 三.继承 四.访问权限修饰符 五.super 关键字 六.重写 6.1 重写 与 重载 之间的区别 : 6.2 重写的实现条件: 6.3 重写的需求 : 6.4 调 ...

  4. 类(class)中的访问权限问题

    在C++的类中共有三种权限 public private proective 1.类本身是父类(不考虑继承)时 在定义一个类的时候,无论是什么权限下的成员变量都能被任何权限下的成员函数所访问 而用类去 ...

  5. private 的访问权限

    private, public, protected 访问标号的访问范围 By Minidxer | November 3, 2007 ※作者:丁志刚 转载请注明:Minidx全文检索 [http:/ ...

  6. 文件系统管理 之 文件和目录访问权限设置

    一.文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许 ...

  7. C++ Qt 访问权限总结

    总结:C++的访问修饰符的作用是以类为单位,而不是以对象为单位. 通俗的讲,同类的对象间可以"互相访问"对方的数据成员,只不过访问途径不是直接访问. 步骤是:通过一个对象调用其pu ...

  8. C++ Qt 访问权限总结

    总结:C++的访问修饰符的作用是以类为单位,而不是以对象为单位. 通俗的讲,同类的对象间可以"互相访问"对方的数据成员,只不过访问途径不是直接访问. 步骤是:通过一个对象调用其pu ...

  9. Centos 文件和目录访问权限设置

    一.文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许 ...

最新文章

  1. 用python 爬取百度百科内容-使用python爬取小说全部内容
  2. OpenRASP xss算法的几种绕过方法
  3. ubuntu每次登陆都用root账号登陆
  4. STL学习笔记5--map and multimap
  5. python 对 list[list] 矩阵进行逆时针旋转90度 matrix = list(map(list, zip(*matrix)))[::-1]
  6. 前n个正整数相乘的时间复杂度为_初一数学必考的21个知识点,附考试重难点,预习必备!...
  7. NodeJs或者命令行爬取网络教程并生成PDF文件,以阮一峰JavaScript教程和ES6教程为例 ...
  8. scrollTop以及页面回到顶部
  9. 《机器学习实战》中英文电子书 + 源代码下载
  10. E盾网络验证介绍以及教程分享
  11. spellman斯派曼电源维修XRB100N100K4405
  12. 【React源码】(十八)React 算法之调和算法
  13. docset文件,aviary sdk,一个bug
  14. 中国大学mooc乐学python答案_中国大学mooc慕课_乐学Python_章节期末网课答案
  15. Android与RFID的点点滴滴(一)RFID介绍
  16. 如何使用EXCEL批量检查地址格式?
  17. 常见C++开源网站项目
  18. Spring-@Bean
  19. 苹果 IOS 早期版本 NDEF的读写问题 C#
  20. Android实现弹出窗口(PopUpWindow)

热门文章

  1. 【thymeleaf】【SpringBoot】在HTML中调用Spring Bean
  2. python的生成器
  3. pandas修改数据类型_如何正确在pandas里使用inplace参数
  4. win10 linux重置密码忘记了,忘记密码时如何重新设置Windows10密码
  5. 微型计算机2018读者调查,《微型计算机》2018年度电竞品牌影响力调查获奖读者揭晓!...
  6. 如何用c 语言编写阶乘程序,求10000的阶乘(c语言代码实现)
  7. mysql重装远程服务未_CentOS 7系统安装与远程连接MySQL(5.7)
  8. 剑指offer python 博客园_python-剑指offer16-20
  9. python中哈达玛积与矩阵乘法的区别
  10. 别找了,这才是 Pyecharts 的正确打开方式!