我习惯了动态类型,这意味着在运行时检查对象/非面向对象结构的类型信息,并抛出某种类型错误,即如果它叫起来像鸭子,它就是鸭子。是否有不同类型的动态类型(请详细介绍)。
发布于 2010-11-09 20:56:41
是的,完全正确。鸭子类型是一种习惯用法,意思是此时值的类型是基于它现在拥有的字段和方法的。动态类型只是说类型与运行时值相关联,而不是与静态变量和参数相关联。这两者之间是有区别的,您可以在没有前者的情况下使用后者。
例如,如果您使用PHP编程,并将自己限制为基本类型,而不使用OO,那么您将使用动态类型,而不使用鸭子类型。
发布于 2010-08-01 22:45:49
不,动态类型是指值有类型而变量没有类型,所以大多数类型检查都是在运行时完成的。因此,基本上,如果值像鸭子一样行走或叫,它就是鸭子,否则就会抛出错误。foo类型实际上只是描述了动态类型的一个功能,它确保了它是类型安全的(即,一个方法只有在变量Duck‘具有正确的属性或可以执行该方法时才会运行)。
https://stackoverflow.com/questions/3382293
复制相似问题