Python教程33:多态
Python教程33:多态 “一个接口,多种实现。” 多态是面向对象编程三大特性(封装、继承、多态)的最后一个。今天我们学习Python的多态特性,理解如何让代码更灵活、更易扩展。 1. 什么是多态 多态(Polymorphism): Poly(多个)+ morph(形态) 同一个接口,不同的实现 不同对象对同一消息的不同响应 为什么需要多态: 灵活性:通过父类引用调用子类方法 可扩展:添加新类无需修改现有代码 统一接口:不同对象用相同方式操作 解耦合:调用者不关心对象类型 简单示例 1class Animal: 2 """动物基类""" 3 def speak(self): 4 pass 5 6class Dog(Animal): 7 def speak(self): 8 return "Woof!" 9 10class Cat(Animal): 11 def speak(self): 12 return "Meow!" 13 14class Cow(Animal): 15 def speak(self): 16 return "Moo!" 17 18# 多态:相同的方法调用,不同的行为 19def animal_sound(animal): 20 """ 21 统一的接口 22 - 参数是Animal类型 23 - 不关心具体是什么动物 24 - 调用speak()得到不同的结果 25 """ 26 print(animal.speak()) 27 28# 使用 29animals = [Dog(), Cat(), Cow()] 30for animal in animals: 31 animal_sound(animal) 32# 输出: 33# Woof! 34# Meow! 35# Moo! 多态的好处: ...