考虑上一堂课。 如果我们要在学校课程中添加一个Pupil字段,可能会将对象的学校对象传递给Pupil对象。
所以而不是做
class School() {
val pupil:Pupil = new Pupil(this)
}
我们可以做到这一点
class School() {
val pupil:Pupil = new Pupil()
}
并且仍然可以从学生对象访问学校参考。我在想scala implicits可能有帮助吗?
答案 0 :(得分:1)
例如,
object ImplicitConstructorParameter extends App {
class Pupil(implicit val school: School)
class School {
implicit val school: School = this
val pupil: Pupil = new Pupil
}
val school = new School
println(school.pupil.school.eq(school))
}
打印true