多态性:指的是可以在不考虑对象的类型的情况下直接使用对象,定义的时候不知道调谁,执行的那一刻才知道
传递参数时不需要指定参数的数据类型。
区别于Java其他语言的首先要声明才能调用对象的特殊,python天生就是多态
Java一个类通过继承其他类,实现只要声明一个类,就能调用这个类所继承的所有类的对象
python推崇鸭子写法:
只要你的方法看起来像鸭子,那么我就认为你是鸭子,不用一定要继承父类,只要做得像一点就OK
class A:
def pay(self):
print('from A')
class B:
def pay(self):
print('from B')
def mypay(obj):
obj.pay()
a = A()
b = B()
mypay(a)
mypay(b)
定义一个函数专门调用对象的方法,不用管是什么类的对象,只要对象有这个方法就可以