Di Scala saya melihat fitur seperti variabel objek-pribadi. Dari latar belakang Java saya yang tidak terlalu kaya, saya belajar untuk menutup semuanya (membuatnya pribadi) dan membuka (menyediakan pengakses) jika perlu. Scala memperkenalkan pengubah akses yang lebih ketat. Haruskah saya selalu menggunakannya secara default? Atau haruskah saya menggunakannya hanya dalam beberapa kasus tertentu di mana saya perlu secara eksplisit membatasi perubahan nilai bidang bahkan untuk objek dari kelas yang sama? Dengan kata lain, bagaimana saya harus memilih di antara keduanya
class Dummy {
private var name = "default name"
}
class Dummy {
private[this] var name = "default name"
}
Yang kedua lebih ketat dan saya menyukainya tetapi haruskah saya selalu menggunakannya atau hanya jika saya memiliki alasan yang kuat?
DIEDIT: Seperti yang saya lihat di sini private[this]
hanya beberapa sub-huruf dan alih-alih this
saya dapat menggunakan pengubah lain: "paket, kelas atau objek tunggal". Jadi saya akan meninggalkannya untuk beberapa kasus khusus.