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

什么是“鸭子类型(duck typing)”?

时间:2016-07-19 23:28:54      阅读:1573      评论:0      收藏:0      [点我收藏+]

标签:


在计算机编程世界里会接触到一个知识点 —— duck typing,叫“鸭子类型”。
 
技术分享

它有一个形象的解释:
“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。”

怎么去理解这句话呢?

鸭子,假如我们都不知道它表示什么。我定义:会走的、会游泳的、会叫的鸟 —— 叫“鸭子”。

我定义的这个“鸭子”,可以说是一个分类,在这个分类里,都是包含了具有共同技能(走、游泳和叫)的鸟。

这个“鸭子”就属于“鸭子类型”。对于这个类型里的每一个成员(不只有“鸭子”),其分类的依据就是具有共同的技能,也就是都会做什么,而不关心你到底是那种鸟。

又比如,我们又定义:会斗鸡、爱翘二郎腿的人 —— 叫“汉子”,那么这个“汉子”也属于“鸭子类型”。

这就是 duck typing。 

什么是“鸭子类型(duck typing)”?

标签:

原文地址:http://www.cnblogs.com/zhangbao/p/5686514.html

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