我有一个包含一个或多个案例类和相关方法的对象。我想在另一个对象中重用这个case类(它具有与此对象类似的特性,但也有一些差异化方法)。
private object abc {
/* ... */
case class xyz(..) { def someFunc(){} }
object xyz { def apply() {} }
}
private object extendabc {
// How to reuse case class xyz here?
}
答案 0 :(得分:1)
如果您只想访问,可以使用此类代码。
private object abc {
case class xyz() {
def someFunc(){}
}
object xyz { }
}
private object extendabc {
val a = new abc.xyz()
a.someFunc()
}
您需要这样调用,因为xyz
是对象abc
的嵌套成员。
看here。
另请注意,您无法在案例类的伴随对象中定义apply方法,因为它提供了完全相同的apply()方法(具有相同的签名。