Skip to main content

Apa itu kelas dalam anonim?

Dalam pemrograman komputer yang berorientasi objek, kelas dalam anonim adalah kelas yang dinyatakan di dalam suatu metode tetapi tidak disebutkan namanya.Kelas dalam anonim memiliki beberapa batasan yang membuatnya berbeda dari kelas normal, termasuk pembatasan pada ruang lingkup variabel yang dapat diakses.Ada beberapa situasi yang sangat spesifik di mana menggunakan kelas dalam anonim dapat membuat kode sumber lebih mudah dibaca, tetapi terutama digunakan untuk membantu menegakkan enkapsulasi di mana pembuatan kelas yang terpisah dapat memperumitnya.

Enkapsulasi adalah konsep dalam pemrograman yang berorientasi objek yang berorientasi objek(Oop) Bahwa suatu objek dan komponennya harus dilindungi dan terikat pada objek.Kelas batin anonim, dan kelas dalam pada umumnya, membantu mewujudkan enkapsulasi untuk objek yang sangat kompleks.Alih -alih harus membuat kelas yang bergantung pada yang eksternal yang terpisah, mengikatnya bersama -sama secara artifisial dan berpotensi mengekspos beberapa komponen, kelas dalam anonim dapat mengikat keduanya bersama -sama.

Dalam beberapa bahasa pemrograman, kelas dalam anonim dapatmembantu mengatasi pembatasan warisan tunggal.Jika suatu objek mewarisi dari satu kelas tetapi kemudian perlu mengakses yang lain, kelas dalam dapat dihasilkan dengan cepat dan kemudian diteruskan ke penangan yang sesuai.Teknik ini biasa terjadi pada panggilan balik dan pendengar acara.Satu -satunya alternatif adalah membuat seluruh kelas kedua di mana hanya satu atau dua metode yang diganti.Pembatasan utama adalah bahwa kelas dalam anonim tidak dapat mengakses variabel metode di mana ia berada kecuali jika variabel -variabel tersebut dinyatakan sebagai final.Ini karena kelas dalam dapat terus berfungsi di luar kehidupan kelas dan metode di mana ia bersarang.Variabel -variabel kelas pembungkus akan dihancurkan begitu hidupnya selesai, jadi referensi yang diadakan kelas dalam akan menjadi tidak valid secara instan.Satu -satunya pengecualian untuk ini adalah variabel akhir, karena akan ada di luar contoh.

Salah satu kegunaan yang lebih spesifik untuk kelas dalam anonim adalah perlindungan kode.Banyak bahasa OOP menyediakan mekanisme yang disebut refleksi.Refleksi memungkinkan program untuk membedah kelas lain dan melihat apa variabel dan metode anggotanya, tetapi bukan kode itu sendiri.Dengan menggunakan kelas dalam anonim, isi kelas dalam dilindungi dari refleksi dan cara kerja dalam kelas yang lebih besar dapat disembunyikan secara efektif.