Skip to main content

Apa itu objek yang tidak dapat diubah?

Dalam pemrograman berorientasi objek, objek yang tidak dapat diubah adalah objek yang propertinya tidak dapat diubah setelah dibuat.Sebaliknya, sebagian besar objek adalah objek yang dapat berubah, yang berarti bahwa sebagian atau semua sifatnya dapat diubah secara bebas setelah pembuatan.Berbagai bahasa komputer memiliki kemampuan untuk membuat objek yang tidak dapat diubah, termasuk Java, C ++, Erlang, Tcl dan Scala.

Objek yang tidak dapat diubah dapat dibuat dalam salah satu dari dua cara: dengan membuat kelas yang menurut definisi tidak dapat diubah atau secara eksplisitmendeklarasikan objek yang bisa berubah menjadi tidak berubah.Metodologi untuk membuat kelas tidak dapat diubah bervariasi tergantung pada bahasa komputer yang digunakan.Terlepas dari bahasanya, kelas yang tidak dapat diubah tidak memiliki metode yang dapat mengubah data internalnya dan tidak ada cara untuk metode untuk diubah mdash;yaitu ditimpa atau kelebihan beban mdash;dengan cara yang akan mengubah data internalnya.Ini lebih rumit dari dua pendekatan.Untuk membuat objek yang tidak dapat diubah dari objek yang dapat berubah, di sisi lain, orang sering dapat menerapkan kata kunci untuk menunjuk objek sebagai tidak berubah.

sebagai contoh, pembuatan objek yang tidak dapat diubah di Java sangat bergantung pada kata kunci akhir.Cara cepat untuk membuat kelas tidak dapat diubah di Java adalah dengan mendeklarasikan kelas, serta semua metode dan anggota datanya, final.Strategi serupa juga dapat digunakan dalam C ++ dengan kata kunci const.Namun, pendekatan ini, tergantung pada konten kelas, mungkin bukan yang terbaik.Secara umum, objek biasanya dapat dibuat diubah dengan pemeliharaan data internal mereka.Menggunakan pendekatan ini, bagaimanapun, memiliki bahaya.Ketika secara eksplisit menunjuk objek yang tidak dapat diubah dengan cara ini, penting bagi programmer untuk memastikan bahwa semua properti dan data yang tepat telah dimasukkan ke dalam objek terlebih dahulu.Mengandalkan objek yang tidak lengkap mungkin berbahaya, terutama jika tidak ada informasi penting.

Jika suatu objek dapat berubah tetapi memerlukan data yang tidak dapat diubah untuk dibuat dengan benar, data yang tidak dapat diubah harus diinisialisasi sebelum objek yang dapat berubah dapat dibuat.Objek yang tidak dapat diubah selalu dapat diubah, apakah itu nilai data atau objek besar, dan harus selalu diperlakukan seperti itu.Secara umum, objek yang tidak dapat diubah tidak dapat dibuat berubah setelah dibuat, meskipun kadang -kadang mungkin disalin sebagai objek yang dapat berubah.Biasanya dapat diasumsikan bahwa objek yang tidak dapat diubah dan salinannya juga tidak dapat diubah, yang dapat mencegah masalah data atau memori.