我已经定义了以下类层次结构,我希望将type参数限制为与Double
一致......
sealed abstract class Quantity[-T](value: T)(implicit ev: T <:< Double)
case class DiscreteQuantity(value: Long) extends Quantity[Long](value)
case class ContinuousQuantity(value: Double) extends Quantity[Double](value)
...是否可以重写上面的层次结构,以便具体类型是值类?从我知道的文档中,无法扩展值类,因此排除Quantity
继承自AnyVal
的规则。为了使具体类继承自AnyVal
,我需要使Quantity
成为一个特征,这很好,但后来我在类型参数上丢失了反变量注释。
思考?