В Scala я вижу такую функцию, как объектно-частная переменная. Из моего не очень богатого Java-фона я научился закрывать все (сделать его приватным) и открывать (предоставлять доступ к ним), если это необходимо. Scala вводит еще более строгий модификатор доступа. Должен ли я всегда использовать его по умолчанию? Или я должен использовать его только в некоторых конкретных случаях, когда мне нужно явно ограничить изменение значения поля даже для объектов того же класса? Другими словами, как я должен выбрать междуprivate [this] vs private
class Dummy {
private var name = "default name"
}
class Dummy {
private[this] var name = "default name"
}
Второй более строгий, и мне это нравится, но я должен всегда использовать его или только тогда, когда у меня есть веские основания?
Редакция: Как я вижу here частных [это] только некоторые подслучай и вместо этого я могу использовать другие модификаторы: «пакет, класс или одноплодный объект». Поэтому я оставлю это для какого-то особого случая.
https://gist.github.com/twolfe18/5767545 – twolfe18