3.1鸭子类型和多态

Posted zydeboke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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自身的特性导致的

  

以上是关于3.1鸭子类型和多态的主要内容,如果未能解决你的问题,请参考以下文章

python 鸭子类型

python的鸭子类型与多态

封装,多态,继承. super的方法,类的约束,

面向对象三大特性

python多态

Python的多态