关于隐式类的一个问题:
我知道Scala支持隐式类来为现有行为添加功能,但我们确实有几个为自己的类编写的隐式类,我认为这样做不是一个好主意,例如:
case class AmountInPence(value: Long)
implicit class AmountInPenceOps(amountInPence: AmountInPence) {
def inPounds: BigDecimal = (BigDecimal(amountInPence.value) / 100).setScale(2)
//few other defs and vals
......
}
这都是我们的代码,意味着我们也拥有case类AmountInPence。我认为使用隐式类作为将行为添加到我们自己的类中的一种方式对我来说似乎是错误的方法,但我想知道你对这个的看法
我们可以在case类或配套对象中添加defs和vals,但有没有更好的方法可以将功能添加到case类中,而不是在上述情况下使用Implicits
感谢
Suresh
假设您拥有AmountInPence
类,那么使用隐式类是没有意义的。只需将该方法直接添加到AmountInPence
即可。