subtype
我对和之间的关系有一些了解subclass
,但我不确定它们是否正确。
具体类(不是通用/高阶类)
如果我声明一些具体的类或类型,用 Java 或 Scala 说:
class B
class A extends B
如果 classA
是 class 的子类B
,那么 typeA
必须是 type 的子类型B
?
而且,如果 typeA
是 type 的子类型B
,那么 classA
是 class 的子类B
吗?(假设A
并且B
都是类)
但只有当它是具体的类或类型时它们才是真的
高阶类/类型
但是对于高阶类型,这不是真的,对吧?说:
class A[+T]
那么 typeA[String]
是 type 的子类型A[Object]
,但A[String]
不是 的子类A[Object]
,对吧?