【发布时间】:2010-03-27 20:51:08
【问题描述】:
我正在做一个家庭作业(一个项目),其中一个标准是我必须以显着提高代码的整体质量或功能的方式使用多态性。
我制作了一个哈希表,如下所示:
public class HashTable<E extends Hashable>{
...
}
其中 Hashable 是我制作的具有 hash() 函数的接口。
我知道以这种方式使用泛型可以提高我的代码质量,因为现在 HashTable 几乎可以处理我想要的任何类型(例如,而不仅仅是整数或字符串)。但我不确定它是否证明了多态性。
我认为确实如此,因为 E 可以是任何实现 Hashable 的类型。换句话说,HashTable 是一个可以(实际上)使用任何类型的类。
但我不太确定 - 是多态性吗?也许我可以澄清一下究竟什么是多态性?
提前致谢!
编辑:收到下面的答案后(见:first answer received),我阅读了维基百科的文章,发现了这个:
“在面向对象的编程社区中,使用参数多态的编程通常称为泛型编程。” (强调)
【问题讨论】:
-
+1:希望我们已经超越了这不是常识,现在 - 当我在学校时,当我提到参数多态性时,我的老师们都瞪大了眼睛。坚持你的枪,如果他们试图标记你。
-
谢谢马克斯。顺便说一句,这是一个高中班。我们没有在课堂上学习泛型(我倾向于学习,因为我想要类似于 c++ 中的模板类)。既然是高中班,如果不是泛型的话,多态性可能是什么意思?
标签: java generics polymorphism