Python类继承与方法重写详解:单继承、多代继承及super调用机制

季宁
季宁
发布时间:2026-10-13| 6人浏览过
原创

本文详细解析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中类的继承与方法重写的介绍即全部内容,希望能为读者提供参考,欢迎继续支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。