Scala 隐式转换与参数深度解析
1. 隐式类与便捷对象构造
在 Scala 编程中,当我们频繁使用某个类时,为了更方便地构造该类的实例,可以运用富包装器模式。以 Rectangle 类为例:
case class Rectangle(width: Int, height: Int)
为了更轻松地创建 Rectangle 实例,我们可以定义一个隐式类 RectangleMaker :
implicit class RectangleMaker(width: Int) {
def x(height: Int) = Rectangle(width, height)
}
上述定义不仅创建了 RectangleMaker 类,还会自动生成一个隐式转换方法:
// Automatically generated
implicit def RectangleMaker(width: Int) = new RectangleMaker(width)
这样,我们就可以通过在两个整数之间插入 x 来创建 Rectangle 实例:
超级会员免费看
订阅专栏 解锁全文
68

被折叠的 条评论
为什么被折叠?



