Fre*_*ind 4 type-systems scala
我正在阅读"Scala in depth"的第一部分,第一部分有两个关于"covariance"和"contrvariance"的句子:
协方差(+ T或?extends T)是指类型可以在继承层次结构中强制转换.
逆变量(-T或?super T)是指类型可以强制继承层次结构.
我已经阅读了一些关于"协方差"和"逆变"的文件,但在这种背景下我无法理解"强迫"和"强迫"这个词.
Gol*_*lly 10
[TOP / ABSTRACT] Thing ? Animal ? Human ? Programmer ? Scala Dev [BOTTOM / SPECIFIC]
协方差:接受T或更低.
我问了一个[+Human],我会接受以下任何一个:[Human, Programmer, Scala Dev].
逆变:接受T或更高.
我问了一个[-Human],我会接受以下任何一个:[Thing, Animal, Human].
Inariance:接受T而且只有T.
强迫.
在类型层次结构中向上/向下强制类型意味着检查类型的超/子类型是否传递了类型约束.例如,共变的功能需要Human,但我们只得到了Programmer,也没关系,编译器可以强制将Programmer成为Human满足类型约束.
| 归档时间: |
|
| 查看次数: |
197 次 |
| 最近记录: |