En Scala, je vois une telle fonctionnalité comme une variable objet-privé. De par mon expérience Java pas très riche, j'ai appris à tout fermer (rendre privé) et à ouvrir (fournir des accesseurs) si nécessaire. Scala introduit un modificateur d'accès encore plus strict. Dois-je toujours l'utiliser par défaut ? Ou dois-je l'utiliser uniquement dans certains cas spécifiques où je dois explicitement restreindre la modification de la valeur d'un champ, même pour des objets de la même classe ? En d'autres termes, comment dois-je choisir entre
class Dummy {
private var name = "default name"
}
class Dummy {
private[this] var name = "default name"
}
La seconde est plus stricte et je l'aime bien, mais dois-je toujours l'utiliser ou seulement si j'ai une bonne raison ?
ÉDITION : Comme je le vois aquí private[this]
est juste un sous-cas et au lieu de this
Je peux utiliser d'autres modificateurs : "paquet, classe ou objet singleton". Je vais donc le laisser pour un cas particulier.