Dans Scala, je vois une telle fonctionnalité comme une variable objet-privé. De mon arrière-plan Java pas très riche, j'ai appris à tout fermer (le 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 devrais-je l'utiliser uniquement dans certains cas spécifiques où j'ai besoin de restreindre explicitement la modification de la valeur du champ même pour les objets de la même classe? En d'autres termes, comment 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?
EDITED: Comme je le vois, voici private[this]
juste un sous-cas et au lieu de this
je peux utiliser d'autres modificateurs: "package, classe ou objet singleton". Je vais donc laisser cela pour un cas particulier.