Подтвердить что ты не робот

Scala: публичный геттер с частным сеттером?

Как я могу создать поле с открытым геттером, но сеттер является приватным, в Scala?

РЕДАКТИРОВАТЬ: слишком плохо, что для этого не существует однострочного способа, как в Groovy. Эти решения выглядят довольно неуклюжими.

4b9b3361

Ответ 1

class Foo {
  private var _value: Int = 0
  def value = _value
}

Ответ 2

class ExplicitProperty {
   private[this] var s: Int = _
   def size = s
   private def size_=(x: Int) {
      s = x
   }
}