标签: scala generics covariance f-bounded-polymorphism
在阅读一个新项目的代码时遇到了一个特征定义。有一个特征已定义了通用定义,该特征是类型由其自身的类型作为UpperBounded。特质定义为(名称更改):
这是如何工作的?这种通用定义会创建什么样的设计模式?
我尝试学习有关泛型,不变性,协方差和相反性的信息。
trait Membership[T <: Membership[T]] { // few methods ... def get[T](id: String): T = { } }