在我们学习面向对象程序设计的时候,那么这个继承成员访问控制机制您必须对其有深入的了解,达到熟练掌握的目的;要不也许这点知识你不过关,你对这点知识还抱着半信半疑的感觉,那么你一旦碰到这个问题,你的第一个感觉就是“烦”。那么我们就深入浅出的来跟大家说说这个面向对象程序设计里边的继承这方面的知识。希望对大家有些许的帮助。

首先无论你的功底怎么样,咱们还是先来了解一下这三种访问控制:

public:公有成员说明列表;

protected:受保护成员说明列表;

private:私有成员说明列表;

我们来看一个表,我还是觉得用表来说明一些问题,大家应该更容易的理解:

这个表就对私有、保护、公有的成员他的一个访问控制情况做了一个分类,我们从这个表里边应该能理解到这么游戏诶知识点:

1、类自身来访问私有、保护、。公有的函数以及数据是畅通无阻的,都能访问,我们用图来说明一下:

我们假设在这个类里边,public有一个函数F1(),protected有一个函数F2(),private有一个函数F3(),那么我们的这个时候有一个public F4(),那么我们在的F4(){}是可以调用F1、F2、F3的。这个就跟咱们那个类自身的那一列就对上号了。还是比较容易理解的吧。

2、派生类:比如我们一个类继承自另外一个类,比如继承这个基类,我们来看图:

那么我们这个派生类是不能访问私有成员的,图中就是不能访问F3,不能访问父类的私有成员。这里也反映了一个问题,就是一个类的私有成员是不被继承的;class2虽然继承于class类,但是只能继承公有的成员和受保护的成员保护,而私有成员是不能访问到的,因为没继承过去。

3、其他类:比如class3,不是我们这个类的子类,是一个其他的类,这个类当中,如果想用到我们class当中的成员,那只能用公有成员。就是:

我们另外还需要值得注意的是:

类的对象的访问权限,相当于其他类。我们看一段代码来理解一下:

我们这么来理解,我们这里就相当于一个外部的类class3对class1进行访问。我觉得这么来理解会容易很多。

我们看一下在继承过程中,加控制,会对成员有什么影响:我们来看一下这个表:

表分三列,基类成员访问控制(我们在基类当中函数是定义成公有的,还是保护的,还是私有的)、继承访问控制(在继承的时候,用的什么样的继承关键字)、继承的类(子类,在子类当中对于父类当中定义的的函数进行访问的时候,访问控制情况如何),我们能看到:

1、我们看访问控制public:

我们很容易的看的出来,私有成员是无法被继承到的;我们可以把继承理解为一种拷贝机制,生产一个子类,子类是一个父类的拷贝,我们在拷贝的过程当中,把私有成员丢掉了,没有拷贝过去,不允许被拷贝过来。

2、继承访问控制:protected

我们看的出来,这个继承访问控制若是protected或者private的时候,那么在派生类中的访问控制也就立马变成了protected和private,当然我们还是不要忘了private是无法继承过来的。

继承关系,没有那么的复杂,以上有不对的地方,请大家指出,感激不尽。希望能帮助大家一起理解这个继承~

轻松理解—继承成员访问控制机制相关推荐

  1. mysql 锁机制 mvcc_轻松理解MYSQL MVCC 实现机制

    轻松理解MYSQL MVCC 实现机制 轻松理解MYSQL MVCC 实现机制 #### 1. MVCC简介 ##### 1.1 什么是MVCC MVCC是一种多版本并发控制机制. ##### 1.2 ...

  2. php开源mvccms_轻松理解MYSQL MVCC 实现机制

    1. MVCC简介 1.1 什么是MVCC MVCC是一种多版本并发控制机制. 1.2 MVCC是为了解决什么问题?大多数的MYSQL事务型存储引擎,如,InnoDB,Falcon以及PBXT都不使用 ...

  3. mysql mvcc实例讲解_轻松理解MYSQL MVCC 实现机制

    1. MVCC简介 1.1 什么是MVCC MVCC是一种多版本并发控制机制. 1.2 MVCC是为了解决什么问题? 大多数的MYSQL事务型存储引擎,如,InnoDB,Falcon以及PBXT都不使 ...

  4. 轻松理解MySQL的MVCC机制

    PS:本文需要一点MySQL原理的前置知识 MVCC   MVCC(Multi Version Concurrency Control),也叫多版本并发控制,顾名思义,就是通过记录的多个版本来实现数据 ...

  5. 轻松理解mysql mvcc_轻松理解MYSQL MVCC 实现机制

    1. MVCC简介 1.1 什么是MVCC MVCC是一种多版本并发控制机制.java 1.2 MVCC是为了解决什么问题? 大多数的MYSQL事务型存储引擎,如,InnoDB,Falcon以及PBX ...

  6. [转]轻松理解MYSQL MVCC 实现机制

    1. MVCC简介 1.1 什么是MVCC MVCC是一种多版本并发控制机制. 1.2 MVCC是为了解决什么问题? 大多数的MYSQL事务型存储引擎,如,InnoDB,Falcon以及PBXT都不使 ...

  7. 带你轻松理解Zookeeper的选举机制

    一,Zookeeper选举过程中服务器的状态. LOOKING:寻找leader状态,该状态下,服务器认为当前集群没有leader,会发起leader选举.在选举过程中,所有服务器的状态都是LOOKI ...

  8. 实验 7——成员访问控制与异常

    一.实验目的 (l) 理解 Java 包的组织结构 ; (2) 学会编写带有包结构的程序 ; (3) 掌握包结构下的成员访问控制. (4) 掌握基本异常的处理机制 : (5) 熟悉 try 语句与 c ...

  9. 深入BCB理解VCL的消息机制

    深入BCB理解VCL的消息机制 引子:本文所谈及的技术内容都来自于Internet的公开信息.由笔者在闲暇之际整理 后,贴出来以飴网友,姑且妄称原创.每次在国外网站上找到精彩文章的时候,心中都 会暗自 ...

最新文章

  1. Golang反射机制的实现分析——reflect.Type方法查找和调用
  2. win7 html 设置成桌面,比比谁酷?!把我的Windows7变成3D桌面
  3. go-ethereum环境搭建及目录结构介绍
  4. Unity检视面板的继承方法研究
  5. jet mysql连接字符串,关于jet db的连接字串,以及加密后的字串-数据库专栏,SQL Server...
  6. ES6公用分页组件的封装及应用举例
  7. 源码安装nginx以及平滑升级
  8. linux mysql启动错误
  9. linux read phy reg,请问如后配置嵌入式网卡LAN91C11X系列的自动协商模式(Auto-Negotiation)?...
  10. MySQL数据库安装和介绍
  11. 《python基础教程》笔记之 列表
  12. java把按钮和键盘对应_按键与按钮的区别?
  13. Visual Studio 2012安装VASSISTX插件后导致CPU高的解决的方法
  14. 如何在win10官网下载系统
  15. 关于神经网络中的shape问题
  16. 鸿蒙开发者招募!给后辈的一点建议,终局之战
  17. ESP32在线语音识别 词法解析
  18. 知乎热议:替代 Matlab 的国产软件出现,开发商称半年内实现 Matlab 功能的70%
  19. ADI Blackfin DSP处理器-BF533的开发详解61:DSP控制ADXL345三轴加速度传感器-LCD(含源码)
  20. matlab打开笔记本摄像头_如何利用MATLAB实现摄像头视频获取和保存

热门文章

  1. Spring AOP(通知、连接点、切点、切面)
  2. Apsara Clouder专项技能认证:实现调用API接口
  3. plus 什么是mybais_谈谈自己用mybatis-plus中的一些经验。
  4. node工程默认url_node命令行工具之实现项目工程自动初始化的标准流程
  5. REVERSE-PRACTICE-BUUCTF-2
  6. 【牛客 - 303B第十五届浙江大学宁波理工学院程序设计大赛(同步赛)】Fibonacci and Counting(Fib数性质,gcd辗转相除法性质)
  7. 【HihoCoder - 1881】特殊任务 (树形图,遍历)
  8. 第九届(2018)蓝桥杯 山东省赛解题报告(题目+分析+代码)
  9. 七天入门图像分割(1):图像分割综述
  10. Linux系统查看开放的端口、开启指定端口、关闭指定端口和查看及删除定时任务