In Scala vedo una funzionalità come variabile oggetto-privato. Dal mio background Java non molto ricco ho imparato a chiudere tutto (renderlo privato) e aprire (fornire accessor) se necessario. Scala introduce un modificatore di accesso ancora più severo. Dovrei sempre usarlo di default? O dovrei usarlo solo in alcuni casi specifici in cui ho bisogno di limitare esplicitamente la modifica del valore del campo anche per oggetti della stessa classe? In altre parole, come dovrei scegliere traprivato [questo] vs privato
class Dummy {
private var name = "default name"
}
class Dummy {
private[this] var name = "default name"
}
Il secondo è più rigorosa e mi piace, ma usare sempre o solo se ho un forte motivo?
Modificato: Per come la vedo here privata [questo] è solo un po 'di subcase invece di questo posso usare altri modificatori: "pacchetto, di classe o di un oggetto Singleton". Quindi lo lascerò per qualche caso speciale.
https://gist.github.com/twolfe18/5767545 – twolfe18