一个复杂的声音,没有一个简单的谷歌搜索的良好解释......是否有更多的学术导向的人可以解释这一个?
两个答案都是正确的.我会说参数化是多态的一种可能属性.如果多态项在所有实例化下表现相同,则多态性是参数化的."行为相同"是一个模糊,直观的术语.John Reynolds引入了关系参数,作为对此的数学形式化.它声明多态术语保留所有关系,直观地迫使它表现相同:
考虑f:列表 - >列表.如果我们有关系a~1,b~2,c~3,...,那么我们可以将它提升到列表中,例如[a,d,b,c]〜[1,4,2,3]
现在,如果f([a,d,b,c])= [c,b,d,a]和f保持关系,那么f([1,4,2,3])= [3,2,4] ,1].换句话说,如果f反转字符串列表,它也会反转数字列表.
因此,关系参数化多态函数不能"检查类型参数",因为它们不能根据类型改变它们的行为.