标签:family object ase padding play variant 对象 color end
Scala伴生对象大部分Scala的单例对象不是单独存在的,而是同时存在相同名称的类。此时这个单例对象是“类”的伴生对象,而类则是“单例对象”的伴生类。类与它的伴生对象必须在同一个资源文件内。
例如:
case class NumberPair(num1: Int, num2: Int)
case class Sum(sumResult: Int)
object NumberPair {
implicit def add: NumberPair => Sum = {
np => Sum(np.num1 + np.num2)
}
}
val np = NumberPair(1, 2)
println(np.sumResult)
此时输出结果为:
3
上面的例子中,伴生对象的成员属性/方法会自动被搜索到和并关联。
标签:family object ase padding play variant 对象 color end
原文地址:http://blog.51cto.com/5705145/2059702