В Scala я вижу такую особенность, как объектно-приватная переменная. На моем не очень богатом опыте работы с Java я научился все закрывать (делать закрытым) и открывать (предоставлять средства доступа), если необходимо. Scala вводит еще более строгий модификатор доступа. Всегда ли использовать его по умолчанию? Или мне следует использовать его только в некоторых конкретных случаях, когда мне нужно явно ограничить изменение значения поля даже для объектов того же класса? Другими словами, как мне выбирать между
class Dummy {
private var name = "default name"
}
class Dummy {
private[this] var name = "default name"
}
Второй более строгий и мне он нравится, но всегда ли его использовать или только при наличии веской причины?
Отредактированный: Как я вижу здесь private[this]
лишь некоторые подслучай и вместо того , что this
я могу использовать другие модификаторы: «пакет, класс или одноплодный объект». Так что оставлю это для особого случая.