• 继承关系下数据成员和成员函数的访问权限详解


    类中成员根据自身和外部可访问性,可分为两类:private(私有)和publie(公有)。在类中不同属性(只要可访问,即非inaccessible)可以相互访问,而在类的外部,通过类的实例化对象只能访问public这一对外接口。

    现有下图中继承关系的类,根据韦恩图的启发,可以作出对应的能够表现类的继承关系的图:

     

    图中最外层是基类,最内层是派生类,这也符合面向对象方法学中的抽象的概念:其中,越往外,越抽象,限制越少,内涵越丰富;越靠近中心,越具体,限制(例如添加成员)越多,这也正是一般和特殊的关系:最外层是一般,最内层是特殊;特殊类就是一般类,而一般类不是特殊类;

    类中最关键的是数据成员,一层层抽象和封装保护正体现了面向对象的概念。

     根据类构造对象的过程,制作上图所示的不同类中的数据和函数成员以及在当前类中的访问权限。private经过public继承后在当前类中不可访问,Base1Var1和Base2Var2经过继承后到Derived中是不可访问的,这也体现了数据的逐层封装;而留下来的public成员函数刚好提供访问私有数据的接口,使得无论是在类内还是类外访问成员函数,都能得到已经被层层封装保护的数据。

     

  • 相关阅读:
    利用低代码从0到1开发一款小程序
    Haproxy
    gcc编译器和gdb调试工具
    spring boot自定义配置时在yml文件输入有提示
    web基础与http协议
    SpringBoot 时 jar 报错 没有主清单属性
    正则基础入门学习
    Java面试笔试acm版输入
    01认识微服务
    泛型的理解和使用--定义后端统一返回结果
  • 原文地址:https://blog.csdn.net/ROBIN12JBJ/article/details/127435478