Man*_*oid 6 scala object traits
在 Scala 中,一个类和一个对象可以是同伴(同名,同文件)
我遇到了 Scala 源代码,其中有一个文件,其中定义了一个 trait 和 object,并且两者都具有相同的名称,但 object 没有扩展 trait。
这个款式好吗?
是的,在 trait 或 object 同名对象成为伴生对象的情况下,您可以在下面的代码中看到您可以访问 class 和 trait 中的私有成员两种情况
特征
trait Simple {
private def line = "Line"
}
object Simple {
val objTrait = new Simple{}
def lineObj=objTrait.line
}
Simple.lineObj
Run Code Online (Sandbox Code Playgroud)
班级
class Simple {
private def line = "Line"
}
object Simple {
val objTrait = new Simple{}
def lineObj=objTrait.line
}
Simple.lineObj
Run Code Online (Sandbox Code Playgroud)