Python学习4:多态(鸭子类型)

对于一个鸭子类型来说,我们并不关心这个对象的类型本身或是这个类继承,而是这个类是如何被使用的。我们可以通过下面的代码来调用这些类的方法。

class Duck:
    def quack(self):
        print("Quaaaaaack!")


class Bird:
    def quack(self):
        print("bird imitate duck.")


class Doge:
    def quack(self):
        print("doge imitate duck.")


def in_the_forest(duck):
    duck.quack()


duck = Duck()
bird = Bird()
doge = Doge()

for x in [duck, bird, doge]:
    in_the_forest(x)

 

posted @ 2018-08-02 16:03  大二迷茫狗  阅读(113)  评论(0编辑  收藏  举报