Skip to main content

Apa itu invarian kelas?

Dalam pemrograman dan desain komputer yang berorientasi objek, invarian kelas adalah seperangkat aturan yang dapat digunakan untuk menentukan apakah ada contoh objek dalam keadaan yang valid.Dari perspektif desain, invarian kelas adalah seperangkat batasan di mana data dalam suatu objek harus jatuh untuk dipertimbangkan dalam keadaan fungsional yang tepat.Kelas invarian dapat didefinisikan dalam dokumentasi desain atau komentar kode sumber atau, dalam beberapa bahasa pemrograman, dapat secara langsung diimplementasikan dalam kode komputer yang dapat ditindaklanjuti.Suatu program yang menggunakan invarian berkode dan pernyataan dapat menyebabkan program menghentikan pelaksanaan atau melemparkan berbagai kesalahan ketika kondisi invarian tidak terpenuhi.Tidak seperti pemeriksaan kesalahan standar, invarian kelas umumnya hanya digunakan hanya untuk tujuan memastikan bahwa implementasi dalam suatu kelas berfungsi, dan biasanya tidak terdaftar dalam dokumentasi publik atau antarmuka pemrograman.

dari tingkat yang sangat dasar, invarian kelas kelas kelasPada dasarnya adalah kumpulan pernyataan untuk kelas.Pernyataan, sekali lagi dalam istilah sederhana, adalah pernyataan yang memeriksa beberapa bagian dari keadaan kelas dan harus mengevaluasi untuk eksekusi program untuk melanjutkan.Salah satu contoh pernyataan adalah pernyataan yang memastikan bilangan bulat yang diberikan selalu antara 1 dan 10. Ketika invarian kelas digunakan, pernyataan dievaluasi untuk semua bagian yang relevan dari data yang dipegang oleh objek, pada dasarnya memvalidasi bahwa semua data dalamObjek berada dalam rentang yang ditentukan.

Dalam banyak kasus, menggunakan kelas invarian sangat menyerupai pemeriksaan kesalahan standar, di mana variabel diukur untuk memastikan mereka berada dalam batas yang dapat digunakan atau tidak nol.Perbedaan antara menggunakan invarian kelas dan pemeriksaan kesalahan standar, bagaimanapun, adalah bahwa invarian dan pernyataan sebagian besar digunakan untuk menangkap kesalahan yang seharusnya tidak terjadi kecuali ada cacat intrinsik dalam kode.Perbedaan lain adalah bahwa pemeriksaan kesalahan standar cenderung melibatkan pemulihan dan perubahan dalam aliran kontrol program, sedangkan hasil dari kegagalan invarian harus menjadi penghentian program.Alasan sebagian besar program berakhir ketika pemeriksaan invarian kelas gagal adalah karena objek berada dalam keadaan yang dikompromikan dan tidak dapat, dari pandangan desain, untuk memenuhi prasyarat dan pasca-kondisi yang diperlukan untuk mematuhi kontrak desainnya.

Salah satu dariProperti kelas invarian dalam bahasa pemrograman berorientasi objek di mana mereka secara implisit didefinisikan adalah bahwa invarian adalah mekanisme yang diwarisi oleh subkelas apa pun.Ini mencegah subkelas dari menimpa cek invarian yang dilakukan di kelas induk.Pada akhirnya, ini berarti subkelas tidak dapat memutus kontrak desain yang ditetapkan oleh superclass, yang dapat menyebabkan hasil yang tidak dapat diprediksi atau kesalahan program yang sulit ditemukan.