当前位置: 首页 > news >正文

类的继承

类的继承:一个类继承另一个类,自动拥有这个类的属性和方法,类似于包含与被包含的关系。被继承的类称为父类--子类则是继承父类的类。一个父类可以有多个子类;一个子类可以有多个父类(多继承)

问题

创建子类时,要是直接进行调用,系统会报错,必须对子类进行实例化。那要如何对子类进行实例化呢?

方法

首先先创造父类,将其属性定义,然后创建多个子类(格式子类(父类)),接着对子类实例化,在对子类实例化时也要将属性补充完整。

代码清单

错误示范:

#父类:将所有类的公共属性和方法进行统一定义
class Dad():
    def __init__(self,greet,demandmoney):
        print('老爸我没生活费了!')
        self.greet=greet
        self.demandmoney=demandmoney
    def f(self):
        print('{}今天你很帅,{}'.format(self.greet,self.demandmoney))
    def ff(ff):
        print('我没钱耍朋友了')
#子类(父类):可继承父类所有属性
class Girl(Dad):
    pass    #mean do nothing 但是仍然拥有父类的属性和方法
class Son(Dad):
    pass    #mean do nothing
    
a=Girl()
a.ff()
a.f()

运行结果:Traceback (most recent call last):
  File "D:/123456/417909cd0267b49e944973d36c99182a.png456.py", line 16, in <module>
    a=Girl()
TypeError: Dad.__init__() missing 2 required positional arguments: &apos;greet&apos; and &apos;demandmoney&apos;

正确代码:

#父类:将所有类的公共属性和方法进行统一定义
class Dad():
    def __init__(self,greet,demandmoney):
        print(&apos;老爸我没生活费了!&apos;)
        self.greet=greet
        self.demandmoney=demandmoney
    def f(self):
        print(&apos;{}今天你很帅,{}&apos;.format(self.greet,self.demandmoney))
    def ff(ff):
        print(&apos;我没钱耍朋友了&apos;)
#子类(父类):可继承父类所有属性
class Girl(Dad):
    pass    #mean do nothing 但是仍然拥有父类的属性和方法
class Son(Dad):
    def son(self):#子类可以拥有自己的属性与方法
        print(&apos;老爸我想多一点生活费&apos;)
    
#a=Girl()
#a.ff()
#a.f()
#创建对象(将子类进行实类化)
a=Girl(&apos;老爸早上好&apos;,1500)
a.ff()
a.f()
b=Son(&apos;老爸早上好&apos;,2000)
b.ff()
b.f()
b.son()

打印结果:老爸我没生活费了!
我没钱耍朋友了
老爸早上好今天你很帅,1500
老爸我没生活费了!
我没钱耍朋友了
老爸早上好今天你很帅,2000
老爸我想多一点生活费


结语

通过此次实验,我们更加了解了类的继承,以及要对子类实例化,对其实例化时也要将属性补充完整。

相关文章:

类的继承

类的继承&#xff1a;一个类继承另一个类&#xff0c;自动拥有这个类的属性和方法&#xff0c;类似于包含与被包含的关系。被继承的类称为父类--子类则是继承父类的类。一个父类可以有多个子类&#xff1b;一个子类可以有多个父类&#xff08;多继承&#xff09;问题创建子类时…...

应用场景一:西门子PLC通过桥接器连接MQTT服务器

应用场景描述&#xff1a; 云平台、MES等数据采集、设备管理系统&#xff0c;需要通过MQTT的方式&#xff0c;上传和下发数据&#xff0c;MQTT服务器可以获取PLC的实时状态数据&#xff0c;也可以下发控制指令。桥接器提供4G、WIFI和有线三种连接方式。 网络拓扑&#xff1a;…...

计算机组成原理(四)

1.理解存储器的分类方法&#xff1b;理解存储器的层次结构&#xff1b;熟悉存储器的几个技术指标&#xff08;主要是存储容量、存取时间、存取周期、存储器带宽等&#xff09;&#xff1b; 存储器分类方法&#xff1a;   按与CPU的连接和功能分类&#xff1a;     主存储…...

状态机设计举例

⭐本专栏针对FPGA进行入门学习&#xff0c;从数电中常见的逻辑代数讲起&#xff0c;结合Verilog HDL语言学习与仿真&#xff0c;主要对组合逻辑电路与时序逻辑电路进行分析与设计&#xff0c;对状态机FSM进行剖析与建模。 &#x1f525;文章和代码已归档至【Github仓库&#xf…...

Kubernetes1.25中Redis单机和集群部署实例二

1、概述我们知道在 Kubernetes 容器编排平台中, 我们可以非常方便的进行应用的扩容缩, 同时也能非常方便的进行业务的迭代&#xff0c;本章主要讲解在Kubernetes1.25搭建Redis单实例和Redis集群主从同步的环境流程步骤, 如果是高频访问重要的线上业务我们最好是部署在物理机器上…...

【STM32】【HAL库】遥控关灯0 概述

相关连接 【STM32】【HAL库】遥控关灯0 概述 【STM32】【HAL库】遥控关灯1主机 【STM32】【HAL库】遥控关灯2 分机 【STM32】【HAL库】遥控关灯3 遥控器 需求 家里有几个房间,开关距离床都挺远的 睡觉想要关灯的时候需要下床 因此设计了本次项目 需要满足以下要求: 可以控…...

C语言学习笔记(三): 选择结构程序设计

if语句 if(){} if (a1){printf("hehe");} //单独一个ifif(){}else{} int a 1, b 2;if (a b) {printf("haha"); //if else}else{printf("hehe");}if(){}else if(){} int a 1, b 2;if (a b) {printf("haha");}else if (a …...

图----无向图

1.定义 图的定义&#xff1a;图是由一组顶点和一组能够将两个顶点相连的边组成 边&#xff1a;edge 顶点&#xff1a;vertex 连通图&#xff1a;如果从任意一个顶点都存在一条路径到达另外一个任意顶点&#xff0c;我们称这幅图是连通图。 非连通图&#xff1a;由若干连通的…...

【C++1】函数重载,类和对象,引用,/string类,vector容器,类继承和多态,/socket,进程信号

文章目录1.函数重载&#xff1a;writetofile()&#xff0c;Ctrue和false&#xff0c;C0和非02.类和对象&#xff1a;vprintf构造函数&#xff1a;对成员变量初始化析构函数&#xff1a;一个类只有一个&#xff0c;不允许被重载3.引用&#xff1a;C中&取地址&#xff0c;C中…...

JetpackCompose从入门到实战学习笔记8—ConstraintLayout的简单使用

JetpackCompose从入门到实战学习笔记8—ConstraintLayout的简单使用 1.简介&#xff1a; Compose 中的 ConstraintLayout ConstraintLayout 是一种布局&#xff0c;让您可以相对于屏幕上的其他可组合项来放置可组合项。它是一种实用的替代方案&#xff0c;可代替使用多个已嵌…...

Spring Boot 快速入门(绝对经典)

目录 1、理论概述 1.1、什么是Spring Boot? 1.2、Spring Boot的特点 1.3、开发环境 2、实战——创建和配置项目 2.1、Spring Boot项目创建的两种方式 2.1.1、方法一&#xff1a;通过网站构建项目 2.1.2、使用Spring Initializr创建&#xff08;推荐&#xff09; 2.2、…...

golang context上下文

文章目录一、为什么需要context二、context 接口三、Background 方法四、 with 系列函数1、WithCancel 方法2、WithDeadline 方法3、WithTimeout 方法4、WithValue 方法五、使用注意事项一、为什么需要context 在 Go http包的Server中&#xff0c;每一个请求在都有一个对应的 …...

Linux---Linux是什么

Linux 便成立的核心网站&#xff1a; http://www.kernel.org Linux是什么 Linux 就是一套操作系统 Linux 就是核心与系统呼叫接口那两层 软件移植&#xff1a;如果能够参考硬件的功能函数并据以修改你的操作系统程序代码&#xff0c; 那经过改版后的操作系统就能够在另一个硬…...

C语言(Tgmath.h库(C99),exit和atexit)

一.Tgmath.h库&#xff08;C99&#xff09; C99标准提供得tgmath.h头文件定义了泛型类型宏。比如在math.h中为一个函数定义了3中类型(float,double和long double)的版本&#xff0c;那么tgmath.h文件就创建一个泛型类型宏&#xff0c;与原来的float,double和long double版本的…...

LeetCode 刷题系列 -- 739. 每日温度

给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。示例 1:输入:temperatures …...

如何生成毕业论文的目录和创建模板

有粉丝同学最近在写毕业论文&#xff0c;其中比较让人恼火的是毕业论文的目录&#xff0c;折腾了几遍没弄好&#xff0c;想让我写个简单地教程&#xff0c;那就来吧。主要分为三步&#xff1a;第一步是从模板里面提取标题的样式&#xff0c;第二步是对自己的论文使用设置好的标…...

新来的23岁软件测试员上来秀了波操作,把几个老员工看傻了

春招了&#xff0c;公司来了个小伙子&#xff0c;一看简历&#xff0c;嘿&#xff1f;22岁&#xff0c;这不刚毕业的小毛孩子嘛&#xff0c;结果没想到人家上来就把现有项目的性能优化了一遍&#xff0c;给公司节省了一半的成本&#xff0c;这种“王炸”打法&#xff0c;直接给…...

Window10开放某个端口

需求&#xff1a;由于防火墙原因&#xff0c;开放某个端口:如9999 在开始那里搜索防火墙-进入防火墙 第一步&#xff1a;核实是否启动了防火墙&#xff0c;之后进行 第二步&#xff1a;点击“高级设置”&#xff0c;→“入站规则”→“新建规则”→“端口”→ “下一步” …...

进阶7 分页查询

进阶7 分页查询&#xff01;&#xff01;&#xff01; 目录概述练习题概述 应用场景&#xff1a;当要显示的数据一页显示不全&#xff0c;需要分页提交SQL请求 语法&#xff1a; select 查询列表 from 表名 【join type join 表2 on 连接条件 where 筛选条件 group by 分组字段…...

利用升序定时器链表处理非活动连接

参考自游双《Linux高性能服务器编程》 背景 服务器同常需要定期处理非活动连接&#xff1a;给客户发一个重连请求&#xff0c;或关闭该连接&#xff0c;或者其他。我们可以通过使用升序定时器链表处理非活动连接&#xff0c;下面的代码利用alarm函数周期性的触发SIGALRM信号&a…...

Python AI 用例工具部署踩坑实录:Docker镜像体积暴增300%、GPU显存泄漏、模型热加载失败的5个根因与秒级修复方案

第一章&#xff1a;Python AI 用例工具部署的典型失败图谱在真实生产环境中&#xff0c;Python AI 工具链&#xff08;如 LangChain、LlamaIndex、FastAPI 封装的推理服务&#xff09;的部署失败往往并非源于模型能力缺陷&#xff0c;而是由基础设施、依赖冲突与配置漂移引发的…...

ARM Neon加速NTT实战:如何在Cortex-A72上优化Kyber和Saber的加密性能

ARM Neon加速NTT实战&#xff1a;Cortex-A72上的Kyber与Saber性能优化 在移动安全领域&#xff0c;后量子密码算法的硬件加速已成为行业焦点。Cortex-A72作为ARM中端处理器的代表&#xff0c;其Neon指令集为NTT&#xff08;数论变换&#xff09;提供了显著的并行计算能力。本文…...

MATLAB图表美化指南:xlabel/ylabel上标下标的5种高级用法

MATLAB图表美化指南&#xff1a;xlabel/ylabel上标下标的5种高级用法 在数据可视化领域&#xff0c;MATLAB作为一款强大的科学计算软件&#xff0c;其图表绘制功能一直被科研人员和工程师广泛使用。然而&#xff0c;许多用户在基础绘图之外&#xff0c;往往忽略了坐标轴标签这一…...

【Frida Android】实战篇:Frida-Trace 进阶追踪——JNI 函数参数捕获与修改

1. 为什么需要捕获JNI函数参数&#xff1f; 在Android安全分析和逆向工程中&#xff0c;JNI函数往往是关键突破口。很多应用会把核心逻辑放在native层实现&#xff0c;比如加密算法、授权验证、敏感数据处理等。单纯Hook Java层方法可能无法触及这些关键逻辑&#xff0c;这时候…...

Windows下FFmpeg环境配置全攻略:从下载到视频剪辑实战

Windows下FFmpeg环境配置全攻略&#xff1a;从下载到视频剪辑实战 在数字内容创作爆发的时代&#xff0c;视频处理能力已成为开发者和创作者的必备技能。FFmpeg作为开源多媒体处理领域的"瑞士军刀"&#xff0c;其强大功能与跨平台特性使其成为处理音视频文件的首选工…...

springboot交通道路监测感知与车路协同系统可视化大屏

目录技术架构设计数据采集与处理可视化大屏功能模块系统集成与部署关键技术点测试与迭代项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作技术架构设计 采用SpringBoot作为后端框架&#xff0c;提供RESTful API接口&#xff1b;…...

美胸-年美-造相Z-Turbo真实案例:快速生成24套手游服装方案

美胸-年美-造相Z-Turbo真实案例&#xff1a;快速生成24套手游服装方案 1. 项目背景与挑战 在手游《幻境物语》的角色设计阶段&#xff0c;美术团队面临一个紧迫需求&#xff1a;为游戏中的"花语使者"职业设计24套不同风格的服装方案。传统手工绘制方案需要至少3周时…...

3步实现跨次元游戏模组管理:XXMI启动器的多游戏统一解决方案

3步实现跨次元游戏模组管理&#xff1a;XXMI启动器的多游戏统一解决方案 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher 还在为《原神》《崩坏&#xff1a;星穹铁道》等多款二次…...

终极指南:如何快速搭建NixOS配置开发环境 [特殊字符]

终极指南&#xff1a;如何快速搭建NixOS配置开发环境 &#x1f680; 【免费下载链接】linux-nixos-hyprland-config-dotfiles Linux &#x1f427; configuration based on NixOS ❄️, Hyprland, and Catppuccin Macchiato theme &#x1f638; for a consistent, complete, a…...

ViGEmBus如何解决Windows游戏控制器兼容性难题?

ViGEmBus如何解决Windows游戏控制器兼容性难题&#xff1f; 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus ViGEmBus是一款专业的Windows内核模式驱动程序&a…...