Scala - 扩展泛型类型参数

Scala - Extend Generic Type Parameter

抱歉,如果这是重复的。无法通过一些基本搜索找到。

如果我有

trait Container[T] { data: T } 

我正在尝试扩展 Container 的特征,使数据成为 Traversable[T]。

下面会这样做吗,它是什么mean/how你会读吗?

trait Extension[T] extends Container[Traversable[T]]

是的,Extension[T] 是一个 Container[Traversable[T]],这意味着它只能将 Traversable[T] 作为数据保存。

请注意,您可能希望定义 Extension[+T] 而不是 Extension[T](对 Container 也执行此操作)。这意味着 Extension[Cat]Extension[Animal] 的子类。