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

二十九、Python基础语法(继承-上)

一、概念介绍

继承:继承描述的是类与类之间的关系,集成之后子类对象可以直接使用父类中定义的方法的属性,可以减少代码冗余,提高编码效率。

二、继承语法

三、继承例子

# 定义一个父类 Animal
class Animal:def __init__(self, name):self.name = namedef speak(self):print(f"{self.name} makes a sound.")# 定义一个子类 Dog,继承自 Animal
class Dog(Animal):def __init__(self, name, breed):# 调用父类的构造方法来初始化 name 属性super().__init__(name)self.breed = breed# 重写父类的 speak 方法def speak(self):print(f"{self.name} the {self.breed} barks.")# 定义另一个子类 Cat,继承自 Animal
class Cat(Animal):def __init__(self, name, color):super().__init__(name)self.color = colordef speak(self):print(f"{self.name} the {self.color} cat meows.")# 创建 Animal 实例
animal = Animal("Generic Animal")
animal.speak()  # Generic Animal makes a sound.# 创建 Dog 实例
dog = Dog("Buddy", "Golden Retriever")
dog.speak()  # Buddy the Golden Retriever barks.# 创建 Cat 实例
cat = Cat("Whiskers", "Black")
cat.speak()  # Whiskers the Black cat meows.

四、继承的传递性

通过对象调用方法,会先在自己当前类中,查找这个方法,找到就直接调用,如果没有找到,会去父类中的查找这个方法,找到就直接使用,如果没有找到,会去父类的父类中的查找这个方法,找到就直接使用,如果没有找到,会去父类的......,直到 object 类, 找到直接使用,没有找到会报错。

http://www.lryc.cn/news/475840.html

相关文章:

  • JVM 复习1
  • 安装fpm,解决*.deb=> *.rpm
  • 基于MATLAB典型去雾算法代码
  • FrankenPHP实践
  • 嵌入式硬件电子电路设计(一)开关电源Buck电路
  • java项目之协力服装厂服装生产管理系统的设计与实现(springboot)
  • Java虚拟机的历程(jvm01)
  • [代码随想录Day4打卡] 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题 02.07. 链表相交 142.环形链表II 总结
  • java项目之校园周边美食探索及分享平台(springboot)
  • 支持 Mermaid 语言预览,用通义灵码画流程图
  • cangjie仓颉程序设计-数据结构(四)
  • Redis中储存含LocalDateTime属性对象的序列化实现
  • 蚁剑的介绍和使用
  • C++之多态的深度剖析(2)
  • 一篇文章 介绍 shiro反序列化漏洞
  • pyav保存视频
  • .bixi勒索病毒来袭:如何防止文件加密与数据丢失?
  • MySQL安装配置教程
  • Pandas进行数据查看与检查
  • ‌MySQL中‌between and的基本用法‌、范围查询
  • [ 问题解决篇 ] 解决远程桌面安全登录框的问题
  • ctfshow——web(总结持续更新)
  • selinux介绍和Linux中的防火墙
  • Jenkins面试整理-如何配置 Jenkins Pipeline?
  • Java每日刷题之二分算法
  • 【mod分享】极品飞车9仿虚幻引擎模组,支持光追,高清纹理材质,体验一会虚幻引擎风格的极品9
  • 【启程Golang之旅】并发编程构建简易聊天系统
  • 微信小程序的开发流程
  • 十分钟快速让你搞懂 Vue3 和 React 的区别
  • 头歌——机器学习(线性回归)