概念
多态(Polymorphism):可以对不同类的对象使用同样操作,它并不管对象是什么类型,只要它实现了这个操作即可。
示例
定义一个Animal类:
# 一个Animal基类
class Animal(object):
def run(self):
print("Animal is running")
# 一个继承自Animal的子类 Dog
class Dog(Animal):
def run(self):
print("Dog is running")
# 一个独立的类,不继承自Animal
class Independ(object):
def run(self):
print("I am a Independ")
# 定义一个函数
def run_twice(x):
x.run()
# 调用
a = Animal()
d = Dog()
i = Independ()
run_twice(a) #输出:Animal is running
run_twice(d) #输出:Dog is running
run_twice(i) #输出:I am a Independ
从上面的代码可以看出:run_twice函数接收一个对象x,然后调用该x对象中的方法run(),它并不管传入的对象是继承自哪个类,只要它有run()方法,则可以调用成功, 这便是多态