Di mana menggunakan objek yang tidak dapat diubah?

Di mana menggunakan objek yang tidak dapat diubah?
Di mana menggunakan objek yang tidak dapat diubah?
Anonim

Objek yang tidak dapat diubah dapat berguna dalam aplikasi multi-utas. Beberapa utas dapat bertindak pada data yang diwakili oleh objek yang tidak dapat diubah tanpa memperhatikan data yang diubah oleh utas lainnya. Oleh karena itu, objek yang tidak dapat diubah dianggap lebih aman daripada objek yang dapat berubah.

Apa gunanya objek yang tidak dapat diubah?

Ketergantungan maksimum pada objek yang tidak dapat diubah diterima secara luas sebagai strategi yang tepat untuk membuat kode yang sederhana dan andal. Objek yang tidak dapat diubah sangat berguna dalam aplikasi bersamaan. Karena mereka tidak dapat mengubah status, mereka tidak dapat dirusak oleh gangguan utas atau diamati dalam keadaan yang tidak konsisten.

Objek mana yang harus disebut tidak berubah?

Objek yang tidak dapat diubah adalah objek sederhana yang statusnya (data objek) tidak dapat diubah setelah konstruksi. Contoh objek yang tidak dapat diubah dari JDK termasuk String dan Integer. Objek yang tidak dapat diubah sangat menyederhanakan program Anda, karena objek tersebut: mudah dibuat, diuji, dan digunakan.

Bagaimana Anda mengimplementasikan objek yang tidak dapat diubah?

Untuk membuat objek yang tidak dapat diubah, Anda harus mengikuti beberapa aturan sederhana:

  1. Jangan tambahkan metode penyetel apa pun.
  2. Deklarasikan semua bidang final dan pribadi.
  3. Jika bidang adalah objek yang bisa berubah, buat salinan defensifnya untuk metode pengambil.
  4. Jika objek yang dapat berubah yang diteruskan ke konstruktor harus ditetapkan ke bidang, buat salinan defensifnya.

Dimana kitagunakan kelas yang tidak dapat diubah di Java?

Kelas yang tidak dapat diubah membuat pemrograman serentak lebih mudah. Kelas yang tidak dapat diubah memastikan bahwa nilai tidak berubah di tengah operasi tanpa menggunakan blok yang disinkronkan. Dengan menghindari blok sinkronisasi, Anda menghindari kebuntuan.

Direkomendasikan: