Apa itu Invarian Kelas?

Dalampemrogramandan desainkomputerberorientasi objek, invarian kelas adalah seperangkat aturan yang dapat digunakan untuk menentukan apakah instance objek ada dalam keadaan valid.Dari perspektif desain, ini adalah seperangkat batas di mana data dalam suatu objek harus berada untuk dipertimbangkan dalam keadaan fungsional yang tepat.Ini dapat didefinisikan dalam dokumentasi desain ataukomentarkode sumberatau, dalam beberapa bahasa pemrograman, dapat langsung diimplementasikan dalam kode komputer yang dapat ditindaklanjuti.Program yang menggunakan invarian dan pernyataan berkode dapat menyebabkan program menghentikan eksekusi atau memunculkan berbagai kesalahan ketika kondisi invarian tidak terpenuhi.Tidak seperti pemeriksaan kesalahan standar, invarian kelas umumnya digunakan hanya untuk tujuan memastikan bahwa implementasi bagian dalam kelas berfungsi, dan mereka biasanya tidak terdaftar dalam dokumentasi publik atau antarmuka pemrograman.

Pria memegang komputer

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

Dalam banyak kasus, menggunakan invarian kelas sangat mirip dengan 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 lainnya adalah bahwa pemeriksaan kesalahan standar cenderung melibatkan pemulihan dan perubahan dalam aliran kontrol program, sedangkan hasil dari kegagalan invarian harus berupa penghentian program.Alasan sebagian besar program berhenti ketika pemeriksaan invarian kelas gagal adalah karena objek berada dalam keadaan yang dikompromikan dan tidak dapat, dari tampilan desain, untuk memenuhi prakondisi dan pascakondisi yang diperlukan untuk mematuhi kontrak desainnya.

Salah satu sifat dari kelas invarian dalam bahasa pemrograman berorientasi objek di mana mereka didefinisikan secara implisit adalah bahwa invarian adalah mekanisme yang diwarisi oleh setiap subkelas.Ini mencegah subkelas dari mengesampingkan pemeriksaan invarian apa pun yang dilakukan di kelas induk.Pada akhirnya, ini berarti subclass tidak dapat memutuskan kontrak desain yang dibuat oleh superclass, yang dapat menyebabkan hasil yang tidak terduga atau kesalahan program yang sulit ditemukan.

Related Posts