Apa itu Metaclass?

Sebuah metaclass digunakan dalam pemrograman berorientasi objek (OOP) dan biasanya dianggap sebagai kelas kelas. Seperti kebanyakan informasi meta, metaclass bekerja di belakang program dan tidak pernah terlihat oleh pengguna. Sebuah metaclass dapat memodifikasi informasi dari kelas dan dapat dihubungkan ke satu atau banyak kelas, tergantung pada struktur pengkodean. Tidak semua struktur OOP menyertakan pengkodean metaobject, dan beberapa mungkin hanya menawarkan pengkodean metaobject dalam format lanjutan.

Sebuah metaclass digunakan dalam pemrograman berorientasi objek (OOP) dan biasanya dianggap sebagai kelas kelas.

Di hampir semua jenis pengkodean, pengkodean meta adalah tag atau baris kode yang bekerja pada program, tetapi tidak terlihat oleh pengguna. Informasi meta berada di atas kode dan dapat mengubah potongan informasi atau menambah program tanpa mengganggu program secara langsung. Di OOP, metaclass digunakan untuk mengambil kelas dan memodifikasi perilakunya.

Kelas dalam OOP adalah sekumpulan instance atau objek yang ditempatkan di bawah satu istilah umum. Misalnya, programmer dapat membuat kelas yang disebut “Rumah.” Di bawah ini, programmer membuat objek yang memodifikasi atau mereproduksi aspek yang biasa ditemukan di rumah, seperti kamar, furnitur, dan orang. Sementara sebuah kelas dapat memodifikasi objek-objek ini, sebuah metaclass akan bekerja untuk memodifikasi kelas itu sendiri.

Kelas di OOP biasanya dinamis dan dapat mengalami banyak perubahan sebelum program selesai. Metaclasses adalah potongan statis informasi yang jarang berubah kecuali programmer menemukan informasi meta tidak bekerja dengan benar. Ini membuat metaclass tidak sengaja bekerja dengan data yang mudah menguap dan juga memastikan pengubah perilaku tidak dapat dimanipulasi.

Bergantung pada kebutuhan programmer, metaclass akan ditautkan ke satu kelas atau ke banyak kelas sekaligus. Pemrogram paling sering menghubungkan metaclass ke satu kelas dan menambahkan aturan atau perilaku unik ke dalam pengkodean metaobject. Jika ada beberapa kelas yang semuanya dapat mengalami modifikasi perilaku yang sama, informasi meta akan diterapkan ke beberapa kelas yang berbeda. Ini dimungkinkan karena pengkodean metaobject diberi judul dan dapat dengan mudah dipanggil kapan pun diperlukan.

Meskipun ini adalah kejadian umum dalam program menengah hingga lanjutan, beberapa struktur OOP tidak menawarkan metaclass. Ini karena mereka tidak membutuhkannya atau ada objek atau kelas lain yang memiliki fungsi serupa tetapi disebut sesuatu yang lain. Beberapa struktur pengkodean mungkin juga hanya menawarkan metaclass yang kompleks dan canggih, di mana yang lain memiliki yang lebih sederhana untuk digunakan oleh pembuat kode menengah.