Apa Itu Kelas Anonim?

Kelas anonim adalah kelas yang tidak diberi nama oleh orang yang memprogram kelas tersebut. Mereka biasanya digunakan ketika penamaan kelas tidak diperlukan, seperti ketika kelas tidak lebih dari subset yang diperlukan dari superclass lain yang lebih tinggi. Keuntungan memprogram kelas anonim adalah bahwa mereka memberi kesempatan kepada programmer untuk merampingkan kodenya, terutama dalam kasus di mana kelas anonim akan masuk ke dalam beberapa superclass. Kerugian utama adalah bahwa kelas anonim tidak dapat mendefinisikan konstruktor atau dibuat pribadi, dilindungi, atau statis, karena kurangnya nama menghilangkan kemungkinan ini.

Dalam pemrograman komputer, kelas adalah objek umum yang dapat muncul dalam sejumlah kasus tertentu. Sama seperti istilah “pesawat” secara luas mencakup semua jenis pesawat bermesin tunggal, pesawat bermesin ganda, pesawat militer, dan pesawat penumpang, “kelas” dalam istilah komputasi adalah contoh umum dari suatu objek. Ini tidak lain adalah template yang dapat diisi sesuai kebutuhan sesuai dengan kebutuhan programmer atau pengguna akhir. Misalnya, membuat kelas yang disebut “sepeda” kemungkinan akan menyertakan parameter untuk sepeda; dengan kata lain, ukuran dan jenis ban, jumlah roda gigi, merek dan model sepeda tertentu, dan sebagainya.

Pemrogram biasanya menggunakan kelas anonim sebagai subset dari superclass, yang merupakan kelas yang dibangun dari beberapa kelas mereka sendiri. Melanjutkan contoh sebelumnya dengan kelas “sepeda”, subkelas anonim dari kelas tersebut dapat berupa “ban”, yang berisi informasi tentang ukuran ban, merek, dan sebagainya.

Keuntungan melakukan ini adalah bahwa kelas “ban” anonim dapat masuk ke dalam kelas super “sepeda” atau kelas super “mobil”. Dengan membuatnya sebagai kelas anonim, programmer dapat lebih mudah menggunakan kembali pekerjaannya jika perlu. Ini menghemat waktu dan biaya, dan membuat kode jauh lebih mudah dipahami.

Kerugiannya adalah tanpa nama, kelas anonim tidak dapat menggunakan fungsi yang sama seperti kelas bernama. Misalnya, mereka tidak dapat dianggap sebagai kelas privat, dilindungi, atau dibatasi. Selain itu, mereka tidak dapat menggunakan konstruktor, yang merupakan subrutin ketika kelas pertama kali muncul yang menginisialisasi kelas dengan parameter default. Kurangnya fleksibilitas ini adalah tradeoff alami untuk kesederhanaan kelas anonim.