码迷,mamicode.com
首页 > 其他好文 > 详细

【3.1】鸭子类型和多态

时间:2019-07-23 00:23:35      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:lis   nim   use   print   anim   种类型   int   ati   实现   

鸭子类型:

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

 

 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】鸭子类型和多态

标签:lis   nim   use   print   anim   种类型   int   ati   实现   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!