gpt4 book ai didi

多态性、参数多态性、Ad Hoc 多态性

转载 作者:行者123 更新时间:2023-12-01 22:26:06 25 4
gpt4 key购买 nike

我试图找出这些类型的多态性之间的区别。我找不到太多关于 Ad-Hoc 多态性的资料。

我想说Polymorphism就是Parametric Polymorphism但一般只是简称Polymorphism?我的假设是否正确?

我知道多态性可以用于继承,但我不确定它可以提供哪些其他属性。

如果有人可以帮助定义这些类型的多态性并尝试给出明显的差异,那就太好了。

谢谢!

注意:最好用 Python 编写每个示例。

最佳答案

多态性是一般概念。 Ad-hoc 多态性和参数多态性是该概念的特化。 (根据the relevant Wikipedia article,还存在其他类型的多态性。)

Ad-hoc 多态性也称为函数重载,它指的是使用类型系统来精确解析将调用哪个方法。所以,我们可能有两个函数,都称为 fn , 其中一个人接受 int参数,而另一个接受 String参数,并根据传递的参数类型选择要调用的正确函数。

参数多态性基本上是泛型的使用。所以,Collection<T>接口(interface)可以说是多态的,因为它可以用作Collection<Integer>Collection<String>什么不是。 “参数化”这个名称是指通用参数的存在。

据我所知,python 没有很强的类型概念,也不支持泛型(C++ 术语中的"template"),因此这些概念可能不适用于 Python。但是,我没有使用 Python 的实际经验,所以我可能是错的。也许其他人可以启发我们。

关于多态性、参数多态性、Ad Hoc 多态性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34252739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com