Python类继承详解:单继承、方法重写与多继承

一颗松果
一颗松果
发布时间:2026-10-15| 4人浏览过
原创

本文详细介绍Python中类的继承机制,涵盖单继承的代码重用、子类对父类方法的覆盖与扩展(方法重写),以及多继承的基本语法。通过具体代码示例解析继承的传递性及super()函数的使用,帮助开发者掌握面向对象编程的核心概念。

1. 单继承

继承的核心价值在于实现代码复用,它允许子类直接获取父类的属性和方法。下面通过一个具体示例来展示这一过程。

class animal:
	def eat(self):
		print("吃")
		
	def drink(self):
		print("喝")
	
class dog(animal):
	def dark(self):
		print("汪汪叫")
	

goudan = dog()
goudan.eat()
goudan.drink()

观察上述代码可知,在定义dog类时并未重新编写eat和drink方法,只需在类名后的括号中指定父类名称即可。一旦子类继承父类,即可直接调用父类中的方法。例如,goudan实例可以直接使用animal类定义的eat和drink方法。此外,继承具有传递性:子类不仅拥有父类的成员,还间接拥有父类的父类所具备的属性和方法。

2. 继承中的方法重写

当父类提供的方法无法满足子类的特定需求时,就需要进行方法重写。子类方法重写通常分为两种情形:

  1. 完全覆盖父类方法
  2. 在父类方法基础上进行扩展

实现方法重写最简单的方式是直接重新定义相应方法。以下示例展示了如何重写drink方法:当通过goudan实例调用该方法时,输出结果不再是“喝”,而是“拿舌头喝水”。

class animal:
	def eat(self):
		print("吃")
		
	def drink(self):
		print("喝")
	
class dog(animal):
	def drink(self):
		print("拿舌头喝水")
		
	def dark(self):
		print("汪汪叫")
	

goudan = dog()
goudan.eat()
goudan.drink()

若需求并非简单覆盖,而是希望在父类原有功能基础上进行扩展,具体实现步骤如下:

  1. 在需要的位置通过super().父类方法调用父类方法的执行逻辑
  2. 在代码的其他部分,根据子类特有需求编写相应的实现代码

参考以下示例:当goudan调用drink方法时,程序将依次输出“喝”和“拿舌头喝水”两项内容。

class animal:
	def eat(self):
		print("吃")
		
	def drink(self):
		print("喝")
	
class dog(animal):
	def drink(self):
		# 1. 根据子类的需求编写特定的代码
		print("拿舌头喝水")
		# 2. 使用super继承父类中的fangfa
		super().drink
		
	def dark(self):
		print("汪汪叫")
	

goudan = dog()
goudan.eat()
goudan.drink()

3. 多继承

在Python中,一个子类可以拥有多个父类。多继承的语法结构相对简单,直接通过示例说明。

class A():
	def test(self):
		print("test")
		
class B():
	def demo(self):
		print("demo")

class C(A,B):
	pass

c = C()
c.test()
c.demo()

总结

至此,关于Python中类继承的介绍已完成。如需了解更多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 算法库。