编程语言中的 DUCK TYPING
编程语言中的 DUCK TYPING
浮川的小窝

编程语言中的 DUCK TYPING

面壁人浮川
2022-02-11 / 0 评论 / 15 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年07月29日,已超过658天没有更新,若内容或图片失效,请留言反馈。
前端工程师基本都是duck typing,因为JavaScript没有type。 --这话是我说的

如果一只动物走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只动物就可以被称为鸭子。


许多编程语言都支持 Duck Typing ,通常 Duck Typing 是动态编程语言用来实现多态的一种方式。
在理解 Duck Typing 前,先看一张图片,这是曾经一度很火的大黄鸭

1731122516-5d15827b858e5.jpeg

先问一个比较考三观的问题:图片中的大黄鸭,它是不是一只鸭子呢?

这个问题,得看你从哪个角度去看,如果从人们常识的认知中的角度去看,它显然不是一只鸭子,因为它连最基本的生命都没有。

但是从 Duck Typing 的角度来看,它就是一只鸭子!

Duck Typing 的原话是

走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么它就是一只鸭子。

这个原话是可以灵活理解的,就看我们怎么定义鸭子的行为,我们可以说,能浮在水上游的,黄色的,可爱的就是鸭子,那么,图片中的大黄鸭,它就是一只鸭子!

[line]这就是所谓的 Duck Typing,它只关心事物的外部行为而非内部结构。它并不关心你这只鸭子是长肉的还是充气的。[/line]

转自 https://segmentfault.com/a/1190000019607240

0

评论 (0)

取消