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

【Python进阶篇 面向对象程序设计(3) 继承】

文章目录

    • 1、继承的基本语法
    • (1)单继承
    • (2)多重继承
    • 2、方法重写
    • 3、super()函数

在面向对象编程中,被继承的类称为父类,新的类称为子类。

1、继承的基本语法

(1)单继承

# 继承
# 父类
class Fruit:color = '绿色'def harvest(self, color):print("水果是:" + color + "的!")print("水果原来是:" + Fruit.color + "的!")# 子类
class Apple(Fruit):color = '红色'def __init__(self):print("我是苹果")class Orange(Fruit):color = '橙色'def __init__(self):print("\n我是橘子")apple = Apple()
apple.harvest(apple.color)
orange = Orange()
orange.harvest(orange.color)

在这里插入图片描述

(2)多重继承

    class 父类1:passclass 父类2:passclass 子类(父类1, 父类2):  # 子类继承多个父类pass 

2、方法重写

子类可以覆盖父类的方法,实现自定义行为。

class Animal:def speak(self):return "通用叫声"class Dog(Animal):def speak(self):  # 重写父类方法return "Woof!"

3、super()函数

调用父类的方法(常用于初始化和扩展功能)。

class Fruit:def __init__(self, color="绿色"):Fruit.color = colordef harvest(self):print("水果原来是:" + Fruit.color + "的!")class Apple(Fruit):def __init__(self):print("我是苹果!")apple = Apple()
apple.harvest()

直接运行上面的代码有报错:
在这里插入图片描述
原因是在子类的__init__()方法中不会自动调用父类的__init__()方法,需要使用super()函数。

class Fruit:def __init__(self, color="绿色"):Fruit.color = colordef harvest(self):print("水果原来是:" + Fruit.color + "的!")class Apple(Fruit):def __init__(self):print("我是苹果!")super().__init__()  ## 调用父类的__init__()方法apple = Apple()
apple.harvest()

在这里插入图片描述

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

相关文章:

  • 龙旗科技社招校招入职测评25年北森笔试测评题库答题攻略
  • 创意Python爱心代码
  • 软件架构升级中的“隐形地雷”:版本选型与依赖链风险
  • stm32--SPI原理应用W25Q64(二)
  • python中MongoDB操作实践:查询文档、批量插入文档、更新文档、删除文档
  • 基于Java+SpringBoot的在线小说阅读平台
  • 网络安全之注入攻击:原理、危害与防御之道
  • 【C语言】const、volatile、restrict、static四大关键字学习笔记
  • javaScirpt学习第八章-第一部分
  • RoboRefer:面向机器人视觉-语言模型推理的空间参考
  • 针对Exhcnage Server的攻击防范措施
  • Qt中的QProcess类
  • 内网渗透——红日靶场五
  • 【PyTorch】PyTorch中torch.nn模块的循环层
  • L0:让大模型成为通用智能体的强化学习新范式
  • Eslint基础使用
  • 从问题出发看Spring的对象创建与管理
  • 安装goland
  • 设计模式—专栏简介
  • Day08-Flask 或 Django 简介:构建 Web 应用程序
  • linux操作系统---MySQL Galera Cluster部署
  • 7.7晚自习作业
  • 【Behavior Tree】-- 行为树AI逻辑实现- Unity 游戏引擎实现
  • Kafka生产者的初始化
  • 【人工智能】ChatGPT、DeepSeek-R1、DeepSeek-V3 辨析
  • 20250707-4-Kubernetes 集群部署、配置和验证-kubeconfig_笔记
  • Maven依赖与JRebel热部署一站式解决方案
  • Java 命令行参数详解:系统属性、JVM 选项与应用配置
  • 【牛客算法】游游的整数切割
  • c语言中的函数VII