学习记录——day41 继承

2024-09-03 04:52
文章标签 学习 记录 继承 day41

本文主要是介绍学习记录——day41 继承,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        学习记录——day39 C++ Class this指针-CSDN博客

        面向对象三大特征:封装、继承、多态

        基于一个已有的类,来创建出一个新类的过程叫做继承,原类称为父类,新类称为自类/派生类。主要用于提高代码的复用性

继承格式

class 子类名 :继承方式  class 父类名1, class 父类2。。。
{
    子类扩展的成员;
};

继承内容

        子类会继承父类的所有成员,根据继承方式的不同,子类通国继承得到的成员权限也不同
       

继承方式

        继承方式一共有三种:public、protected、private,表示子类能够继承到的最高权限(以public为最高,private为最低)

        访问权限也可以省略,默认的继承方式为 private

        常用的继承方式是 public

1、类中的成员属性和成员函数分为不同的权限

        public:该权限下的成员,可以在类内、子类中、类外被访问

        protected:该权限下的成员,可以在类内、子类中直接被访问,类外不允许被访问

        private:该权限下的成员,只能在类内被访问,子类、类外不允许被访问

2、public 继承

父类权限      public              protected            private          不可访问(来自父类的父类)

子类权限      public              protected            不可访问       不可访问

3、protected 继承

父类权限      public              protected            private           不可访问(来自父类的父类)

子类权限      protected        protected            不可访问        不可访问

4、private 继承

父类权限      public              protected            private            不可访问(来自父类的父类)

子类权限      private             private                不可访问        不可访问

继承过程中的成员

1、子类会继承父类中的所有成员,但不能子类中不能直接使用父类的私有成员

2、子类对父类的对私有成员的操作,需要通过父类中提供public或者protected类型的接口函数完成

3、子类在实例化类对象时,会先存储父类的成员变量,再存储子类中扩展的成员变量

4、子类实例化对象时,系统会自动调用父类的构造函数,去初始化子类从父类继承的成员变量

5、在子类有参构造中调用父类的有参构造,可以初始化从父类继承成员变量

学习记录——day40 类中特殊的成员函数_形参名和成员变量名相同时,使用初始化列表-CSDN博客

6、子类实例化对象,虽然调用的父类的构造函数,但是并没有实例化父类对象,最终对象的个数只有一个

类与类之间的关系模型

1、继承关系:is a 模型,是特殊的包含关系(has a模型)

2、包含关系:has a模型,在一个类中,有另一个类的成员子对象

3、友元关系:use a模型,在一个类中,使用另一类中的内容

        

这篇关于学习记录——day41 继承的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1132076

相关文章

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

关于rpc长连接与短连接的思考记录

《关于rpc长连接与短连接的思考记录》文章总结了RPC项目中长连接和短连接的处理方式,包括RPC和HTTP的长连接与短连接的区别、TCP的保活机制、客户端与服务器的连接模式及其利弊分析,文章强调了在实... 目录rpc项目中的长连接与短连接的思考什么是rpc项目中的长连接和短连接与tcp和http的长连接短

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Servlet中配置和使用过滤器的步骤记录

《Servlet中配置和使用过滤器的步骤记录》:本文主要介绍在Servlet中配置和使用过滤器的方法,包括创建过滤器类、配置过滤器以及在Web应用中使用过滤器等步骤,文中通过代码介绍的非常详细,需... 目录创建过滤器类配置过滤器使用过滤器总结在Servlet中配置和使用过滤器主要包括创建过滤器类、配置过滤

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6

python与QT联合的详细步骤记录

《python与QT联合的详细步骤记录》:本文主要介绍python与QT联合的详细步骤,文章还展示了如何在Python中调用QT的.ui文件来实现GUI界面,并介绍了多窗口的应用,文中通过代码介绍... 目录一、文章简介二、安装pyqt5三、GUI页面设计四、python的使用python文件创建pytho

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert