python3 继承(inheritance)

本文介绍了Python3中的继承概念,包括如何定义子类和父类,以及直接继承、间接继承和多重继承的用法。在直接继承中,子类可以继承父类的所有功能,当子类和父类方法冲突时,优先调用子类方法。间接继承使得类可以继承多级祖先的功能,而多重继承则允许一个子类继承多个父类的特性。使用super()可以帮助处理复杂的继承关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 定义

继承是类之间共享功能的一种方式。当我们定义一个类(class)的时候,可以从某个现有的类继承。新的类称为子类(subclass),而被继承的类称为基类、父类或超类(base class、super class)。

2. 用法

2.1 直接继承

当一个类要从另一个类处继承功能时,只需要在定义类时将父类名放置在子类名后的括号里,这样子类就拥有父类的全部功能了。
输入:

class Animal:
def __init__(self,name,color):
    self.name = name
    self.color = color
class Dog(Animal):
    def bark(self):
        print("Woof")
a_dog = Dog("Nemo","black")
print(a_dog.color)
a_dog.bark()

输出:

black
Woof

当子类和父类存在相同的方法时(即父类被子类覆写了),在代码运行的时候,总是会调用子类的方法。

2.2 间接继承

如果一个类(A)继承了类(B),类(B)又继承了类(C)。那么,类A也获得了C的所有功能。也就是说,继承是有单向传递性的。需要注意的是,在继承中是不可以存在循环的。比如这个举例里类C就不能再去继承类A或者类B了。

2.3 多重继承和super

funhacks写得挺好的。转过来整理到一起:
原文链接:https://segmentfault.com/a/1190000007426467

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值