我试图找出这些类型的多态性之间的差异。我找不到有关Ad-Hoc多态性的资料。
我想说多态性是参数多态性,但通常仅称为多态性?我是否正确地假设了这一点?
我知道可以在继承中使用多态,但是我不确定它可以提供哪些其他属性。
如果有人可以帮助定义这些类型的多态性并尝试给出明显的差异,那将是很好的。
谢谢!
注意:Python中的每个示例都很棒。
多态是一般概念。即席多态和参数多态是该概念的专业。(根据相关的维基百科文章,还存在其他类型的多态性。)
临时多态也称为函数重载,它指的是使用类型系统以精确解析将调用的方法。因此,我们可能有两个函数,两个函数都称为fn
,其中一个接受int
参数,而另一个接受String
参数,并根据要传递的参数的类型选择要调用的正确函数。
参数多态性基本上是泛型的使用。因此,该Collection
接口可以说是多态的,因为它可以作为Collection
和作为Collection
,什么不是。名称“参数”是指通用参数的存在。
据我所知,python没有强大的类型概念,也不支持泛型(在C ++中是“模板”),因此这些概念可能不适用于Python。但是,我没有Python的实践经验,所以我可能是错的。也许其他人可以启发我们。