Неявная передача значений из содержащих классов в поля классов?
Рассмотрим класс школы. Если бы мы добавили поле "Ученик" в школьный класс, можно ли было бы просто передать ссылку на объект "Школьник" в объект "Ученик".
Так что вместо того, чтобы делать
class School() {
val pupil:Pupil = new Pupil(this)
}
Мы могли бы сделать это
class School() {
val pupil:Pupil = new Pupil()
}
И все равно сможет получить доступ к школьной справке с объекта ученика. Я думаю, что последствия Scala могут помочь?
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