发布于2019-10-28 15:34 阅读(1469) 评论(0) 点赞(16) 收藏(4)
鸭子模式
动态类型语言的一种风格
多态性:向不同对象传递统一信息,不同的对象在接收到信息时,会做出不同反应
接口:标准
在鸭子类型中,不关注对象的类型本身,而是如何使用的
1. 鸭子类型通常不会理会函数参数类型,依赖于文档(告知传递的对象---有对应的方法)
认为控制
鸭子类型(过于灵活)
2. 关注的不是类型,只关注方法和属性
#只关注方法,不关注对象类型
class Duck:
def swim(self):
print('duck swim')
def quack(self):
print('duck quack')
def feather(self):
print('duck has feather')
class Bird:
def swim(self):
print('Bird swim')
def quack(self):
print('Bird quack')
def feather(self):
print('Bird has feather')
class Human:
def swim(self):
print('human like dog swim')
def quack(self):
print('human quack')
def feather(self):
print('human has feather')
def eat(self):
pass
def forest(duck):
'''有swim quack feather的调用'''
duck.swim()
duck.quack()
duck.feather()
def game():
d=Duck()
b=Bird()
h=Human()
forest(d)
forest(b)
forest(h)
game()
#结果
duck swim
duck quack
duck has feather
Bird swim
Bird quack
Bird has feather
human like dog swim
human quack
human has feather
作者:放羊人
链接:https://www.pythonheidong.com/blog/article/147024/ea626ab4e4454b11d70b/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!