zoukankan      html  css  js  c++  java
  • 类的三种继承方式

    类成员的访问权限

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

    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继承降低了访问权限。

  • 相关阅读:
    一个好用的web甘特图
    应用ExcelPackage导出Excel
    Base64中文不能加密问题
    Sql Server存储过程和函数浅谈
    .NET反编译之Reflector基础示例
    NPOI导出数据到Excel
    twitter接口开发
    Nginx基本属性配置详解
    ssh-keygen创建证书
    asp.net core 设置默认文档index.html
  • 原文地址:https://www.cnblogs.com/helloweworld/p/3039010.html
Copyright © 2011-2022 走看看