Fre*_*ind 5 type-systems scala covariance
假设我定义了一个类型构造函数Box:
trait Box[+T]
什么是正确的?
T是协变的T构造函数中的type参数Box是协变的关于Scala中的函数编程一书中的差异:
在声明中
trait List[+A],+类型参数前面A是方差注释,表示A是协变或"正"参数List.这意味着,例如,List[Dog]被认为是子类型List[Animal],假设Dog是子类型Animal.