5
我想知道为什么术语协方差和反变量在编程领域被命名。通常人们会在概率论或统计学中听到这些术语,指出被测量的数量相对于平均值的扩散。为什么Covariance和Contravariance这样命名?
- 从统计中借用这些术语的想法是什么?
- 这些术语在编程领域如何描述这种扩散?
- 编程领域的平均值是多少?
我知道协变是为更具体类型的变量赋予更具体类型的表达式的能力,但是对此有另一种解释吗?
有关这两个域的示例将会很有帮助。
差异仅仅是“差异” - 在统计数据中,它与样本的平均值有多少有关;在编程中它是如何变化的类型(是否可以使用子类型/超类型关系等)。 – 2014-08-27 14:24:11
你为什么认为它来自'Statistics'?它来自根据[wikipedia](http://en.wikipedia.org/wiki/Covariance_and_contravariance_%28computer_science%29#Origin_of_the_term_.22covariance.22)的'category theory'。 – 2014-08-27 14:40:03
这就是为什么我喜欢C#中的'T' /'out T'决定的原因。这是非常直观的,他们的意思,而不必记得哪个是哪个 – 2014-08-27 14:40:38