代码复用:学会 Python 继承和多态,事半功倍!
- 公众号:人生只不过是一场投资
- 温馨提示:每个笔记文档都会绑定一个笔记资源;手机端可能看不到,网页端请自行下载。
不想每次都写重复代码?Python 继承和多态,让你轻松实现代码复用!
前言
写代码最烦的是什么? 复制粘贴! 😩
一遍又一遍地写着几乎一样的代码,不仅效率低下,还容易出错。
有没有什么办法可以让代码更简洁,同时提高代码的复用性呢?
答案就是:继承 (Inheritance) 和 多态 (Polymorphism)!
一、继承:站在巨人的肩膀上
想象一下,你想设计一个“电动汽车”的程序。
- 你会从零开始,重新编写所有关于汽车的属性和方法吗?
- 还是会利用现有的“汽车”代码,在其基础上进行扩展?
答案显而易见!
继承就像站在巨人的肩膀上,子类 (Subclass) 可以继承父类 (Superclass) 的所有属性和方法,避免了代码的重复编写,同时还可以添加自己的独特功能。
class Animal: # 父类
def __init__(self, name):
self.name = name
def speak(self):
print("动物发出声音...")
class Dog(Animal): # 子类,继承自 Animal
def speak(self): # 子类,重写了父类的 speak 方法
print("汪汪!")
class Cat(Animal): # 子类,继承自 Animal
def speak(self): # 子类,重写了父类的 speak 方法
print("喵喵!")
# 创建对象
animal = Animal("动物")
dog = Dog("旺财")
cat = Cat("咪咪")
# 调用 speak() 方法
animal.speak() # 输出:动物发出声音...
dog.speak() # 输出:汪汪!
cat.speak() # 输出:喵喵!
二、多态:同一个方法,不同的表现
多态是指同一个方法,在不同的类中可以有不同的表现形式。
就像上面的例子,speak()
方法在 Animal
、 Dog
和 Cat
类中都有不同的实现,分别表示不同的动物发出不同的声音。
多态的好处:
- 代码简洁灵活: 不需要为每个子类都编写相同功能的方法,只需调用同一个方法即可。
- 可扩展性强: 添加新的子类时,无需修改原有代码,只需在新子类中实现相应的方法即可。
三、 现实世界中的继承和多态
继承和多态不仅是编程概念,也广泛存在于现实世界中。
例如:
- 水果 是一个父类,苹果、香蕉、橘子 都是它的子类,它们继承了水果的属性(颜色、味道等)和方法(可以吃)。
- 交通工具 是一个父类,汽车、火车、飞机 都是它的子类,它们继承了交通工具的属性(速度、载重量等)和方法(可以运输)。
四、总结
继承和多态是面向对象编程 (OOP) 的两个重要概念,可以帮助我们:
- 提高代码复用性: 避免重复编写代码。
- 提高代码的可维护性: 更容易修改和扩展代码。
掌握继承和多态,让你的 Python 代码更简洁、高效、易维护!