学习记录——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

相关文章

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

C++11委托构造函数和继承构造函数的实现

《C++11委托构造函数和继承构造函数的实现》C++引入了委托构造函数和继承构造函数这两个重要的特性,本文主要介绍了C++11委托构造函数和继承构造函数的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录引言一、委托构造函数1.1 委托构造函数的定义与作用1.2 委托构造函数的语法1.3 委托构造函

Java 继承和多态的作用及好处

《Java继承和多态的作用及好处》文章讲解Java继承与多态的概念、语法及应用,继承通过extends复用父类成员,减少冗余;多态实现方法重写与向上转型,提升灵活性与代码复用性,动态绑定降低圈复杂度... 目录1. 继承1.1 什么是继承1.2 继承的作用和好处1.3 继承的语法1.4 子类访问父类里面的成

Java继承映射的三种使用方法示例

《Java继承映射的三种使用方法示例》继承在Java中扮演着重要的角色,它允许我们创建一个类(子类),该类继承另一个类(父类)的所有属性和方法,:本文主要介绍Java继承映射的三种使用方法示例,需... 目录前言一、单表继承(Single Table Inheritance)1-1、原理1-2、使用方法1-

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

统一返回JsonResult踩坑的记录

《统一返回JsonResult踩坑的记录》:本文主要介绍统一返回JsonResult踩坑的记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录统一返回jsonResult踩坑定义了一个统一返回类在使用时,JsonResult没有get/set方法时响应总结统一返回

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

java对接海康摄像头的完整步骤记录

《java对接海康摄像头的完整步骤记录》在Java中调用海康威视摄像头通常需要使用海康威视提供的SDK,下面这篇文章主要给大家介绍了关于java对接海康摄像头的完整步骤,文中通过代码介绍的非常详细,需... 目录一、开发环境准备二、实现Java调用设备接口(一)加载动态链接库(二)结构体、接口重定义1.类型