1

假设您正在使用动态语言(Python 等)进行计算器,并且您有一个 add 方法。

def Add(x, y)
    print x + y

现在,如果您要传入除错误数字之外的任何内容,那么您需要进行一些数据类型检查。

Duck Typing 是关于对象而不是上面例子中的参数吗?

谁能进一步解释?

编辑

我的意思是:

Person.Quack()
Duck.Quack()

不关心传递给方法的内容。

4

1 回答 1

2

鸭子打字是关于不关心您正在使用的对象是什么,只要它们支持必要的操作。因此,如果 + 是字符串连接,那么将字符串传递给 Add 就可以了。如果日期支持 + 操作,那么传递日期也可以。

于 2009-07-30T18:52:07.400 回答