【3.1】鸭子类型和多态

鸭子类型:

  当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来像鸭子、叫起来也像鸭子、那么这只鸟就可以被称为鸭子

 1 #!/user/bin/env python
 2 # -*- coding:utf-8 -*-
 3 
 4 
 5 class Cat(object):
 6 
 7     @staticmethod
 8     def say():
 9         print('i am cat')
10 
11 
12 class Dog(object):
13 
14     @staticmethod
15     def say():
16         print('i am dog')
17 
18 
19 class Duck(object):
20 
21     @staticmethod
22     def say():
23         print('i am duck')
24 
25 
26 animal_list = [Cat, Dog, Duck]
27 for animal in animal_list:
28     animal().say()
i am cat
i am dog
i am duck

  上述class都实现了一个名为say的方法,那么我们可以把这些的类,都归于一种类型

  在python中实现多态,只需要去实现相同名称的方法就可以了,这种特性是由python自身的特性导致的

  

原文地址:https://www.cnblogs.com/zydeboke/p/11229101.html