3

它们是可互换的术语吗?你能给出正式的定义和例子吗?

4

2 回答 2

3

两个术语(超类和超类型)是相关的,但它们并不完全可以互换。

只有超类,而其他分类器类。由于 Class 也是 Classifier,所以超类始终是超类型(因为超类重新定义了分类器之间的一般关联),但反之则不然。

例如,longJava中的原始类型被定义为. 由于原始类型不是类,因此不是.intlongint

再比如:在UML中,组件和接口不同于类(都是分类器),那么说“组件的超类”而不是“组件的超类”是不正确的。

于 2013-03-10T11:46:48.043 回答
0

说 A 是 B 的子类只是断言 A 是使用继承形成的。说 a 是 B 的子类型,就是断言 A 保留了 B 中所有操作的含义。

可以形成不是子类型的子类;并且(至少在某些语言中)形成不是子类的子类型。

于 2013-03-10T11:51:03.313 回答