10.19更新
今天老师给变量赋值,用到了自定义的变量类型。用我们已知的概念来讲就是struct,看来在ts中用interface代劳。

来说鸭式辨型。鸭式辨型是和interface有关的概念,先举个例子

按理说printLabel函数传入的应该是实现了LabelledValue的变量的,可是为什么传入myObj也行呢?myObj中有个名字是label的变量,和LabelledValue中的label同名,这就是代码成立的理由。这个理由背后是由鸭式辨型规则支撑的。请看这个帖子:
鸭式辨型来自于James Whitecomb Riley的名言:"像鸭子一样走路并且嘎嘎叫的就叫鸭子。"通过制定规则来判定对象是否实现这个接口。
http://www.cnblogs.com/Songyc/p/4267844.htmlhttp://www.cnblogs.com/Songyc/p/4267844.html
所以同名就可以啦!
网友评论