它们是可互换的术语吗?你能给出正式的定义和例子吗?
问问题
1861 次
2 回答
3
两个术语(超类和超类型)是相关的,但它们并不完全可以互换。
只有类有超类,而其他分类器有超类。由于 Class 也是 Classifier,所以超类始终是超类型(因为超类重新定义了分类器之间的一般关联),但反之则不然。
例如,long
Java中的原始类型被定义为. 由于原始类型不是类,因此不是.int
long
int
再比如:在UML中,组件和接口不同于类(都是分类器),那么说“组件的超类”而不是“组件的超类”是不正确的。
于 2013-03-10T11:46:48.043 回答
0
说 A 是 B 的子类只是断言 A 是使用继承形成的。说 a 是 B 的子类型,就是断言 A 保留了 B 中所有操作的含义。
可以形成不是子类型的子类;并且(至少在某些语言中)形成不是子类的子类型。
于 2013-03-10T11:51:03.313 回答