• 类的三种继承方式


    类成员的访问权限

    首先来看类成员的访问权限。

    private: 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问.
    protected: 可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问
    public: 可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问。

    记忆:类内函数/友元函数、子类函数、对象。

     

    我们经常听到这样的说法:

    1)一个类友元可以访问该类的任何成员(包括成员变量及成员方法,下同)。
    2)private成员只有该类自身可以访问,protected成员只有该类及其派生类可以访问,public成员所有的人都可以访问。

    宾语(受事)是谁这一点很明确,是类的成员(包括成员变量及成员方法)。主语(施事)是谁?这是让大家发生混淆的关键点。也是这个说法中含糊不清的地方。

     

    想清楚一点,其实主语(施事)指的是一个函数,而不是(当然更不是变量)。private/public/protected要控制的是一个函数(施事)对一个类的成员(包括成员变量及成员方法)的访问权限。因此比较完整的说法是:

    1)一个类友元(包含友元函数或者友元类的所有成员函数)可以访问该类的任何成员(包括成员变量及成员方法)。

    2)除去友元外,private成员只有该类自身的成员函数可以访问,protected成员只有该类的成员函数及其派生类的成员函数可以访问,public成员则所有的函数都可以访问。

     

    三种继承

    使用private继承,父类的所有方法在子类中变为private;
    使用protected继承,父类的protected和public方法在子类中变为protected,private方法不变;
    使用public继承,父类中的方法属性不发生改变; 

    核心:父类成员的访问权限 继承后 在子类中的访问权限  变成什么样了。

    protected继承和private继承降低了访问权限。

  • 相关阅读:
    51nod1370 排列与操作
    2019-11-20-Github-给仓库上传-NuGet-库
    2019-11-20-Github-给仓库上传-NuGet-库
    2019-6-5-WPF-隐藏系统窗口菜单
    2019-6-5-WPF-隐藏系统窗口菜单
    2019-8-31-AutoHotKey-用打码的快捷键
    2019-8-31-AutoHotKey-用打码的快捷键
    2019-4-10-win10-uwp-自定义标记扩展
    2019-4-10-win10-uwp-自定义标记扩展
    2018-9-3-C#-const-和-readonly-有什么区别
  • 原文地址:https://www.cnblogs.com/helloweworld/p/3039010.html
Copyright © 2020-2023  润新知