在Scala中,类和对象可以是伴侣(同名,同一文件)
我遇到了Scala源代码,其中一个文件具有在其中定义的特征和对象,并且两者具有相同的名称,但是对象没有扩展特征。
这种风格好吗?
答案 0 :(得分:3)
是的,在案例特征或对象中,同名对象成为伴侣对象,您可以在下面看到代码,您可以在课堂上访问私人成员并特征两种情况
性状
trait Simple {
private def line = "Line"
}
object Simple {
val objTrait = new Simple{}
def lineObj=objTrait.line
}
Simple.lineObj
类
class Simple {
private def line = "Line"
}
object Simple {
val objTrait = new Simple{}
def lineObj=objTrait.line
}
Simple.lineObj
答案 1 :(得分:0)
object
的典型用例是您在Java中标记为static
的方法和字段,如果有帮助的话。
object
不会延伸trait
/ class
,它会伴随它,因此术语伴侣对象。