Python类继承与方法重写详解:单继承、多代继承及super调用机制
本文详细解析Python中的类继承机制,涵盖单继承与多代继承的实现方式。重点讲解方法重写的概念及其作用,通过Animal、Dog及Xiaotq类的示例,演示如何在子类中覆盖父类方法。此外,文章提供了调用被重写父类方法的两种标准做法:直接通过类名调用及利用super()函数,帮助开发者掌握面向对象编程的核心技巧。
1. 单继承
在面向对象编程中,父类也被称为基类(Base Class)。
子类则被称为派生类(Derived Class)。
具体的继承关系结构如下所示:

继承的语法书写格式为:
class 子类(父类):
方法
具体实例如下:
class Animal:
def eat(self):
print("-----吃-------")
def drink(self):
print("-----喝--------")
class Dog(Animal):
def drak(self):
print("汪汪叫")
a=Animal()
a.eat()
孙类同样可以继承自爷爷类,即支持多层级继承,具体示例如下:
class Animal:
def eat(self):
print("---吃-----")
def drink(self):
print("----喝-----")
def sleep(self):
print("----睡觉-----")
class Dog(Animal):
def bark(self):
print("---汪汪叫----")
class Xiaotq(Dog):
def fly(self):
print("----飞-----")
xiaotq = Xiaotq()
xiaotq.fly()
xiaotq.bark()
xiaotq.eat()
2. 方法重写(Override)
当子类与父类拥有相同名称的方法时,称为子类重写了父类的方法。
重写的核心作用在于:当父类已存在某方法,但子类需要修改其内部逻辑时,直接修改父类代码并非最佳实践,此时应通过重写机制在子类中实现定制化的行为。
例如:
class Animal:
def eat(self):
print("---吃-----")
def drink(self):
print("----喝-----")
def sleep(self):
print("----睡觉-----")
class Dog(Animal):
def bark(self):
print("---汪汪叫----")
class Xiaotq(Dog):
def fly(self):
print("----飞-----")
def bark(self):
print("----狂叫-----")
xiaotq = Xiaotq()
xiaotq.fly()
xiaotq.bark()
xiaotq.eat()
若仅按常规方式调用,父类的方法将不会被执行。需采用以下特定方式来调用父类被重写的方法:
class Animal:
def eat(self):
print("---吃-----")
def drink(self):
print("----喝-----")
def sleep(self):
print("----睡觉-----")
class Dog(Animal):
def bark(self):
print("---汪汪叫----")
class Xiaotq(Dog):
def fly(self):
print("----飞-----")
def bark(self):
print("----狂叫-----")
#调用被重写的父类的方法
#1 必须加上self
Dog.bark(self)
#2
super().bark()
xiaotq = Xiaotq()
xiaotq.fly()
xiaotq.bark()
xiaotq.eat()
以上关于Python中类的继承与方法重写的介绍即全部内容,希望能为读者提供参考,欢迎继续支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









