Scala中的值类层次结构?

时间:2016-12-04 05:56:20

标签: scala value-class

我已经定义了以下类层次结构,我希望将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成为一个特征,这很好,但后来我在类型参数上丢失了反变量注释。

思考?

0 个答案:

没有答案