多态

多态性:指的是可以在不考虑对象的类型的情况下直接使用对象,定义的时候不知道调谁,执行的那一刻才知道

传递参数时不需要指定参数的数据类型。

区别于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)

定义一个函数专门调用对象的方法,不用管是什么类的对象,只要对象有这个方法就可以

 

原文地址:https://www.cnblogs.com/leiyiming/p/9194628.html