Skip to main content

Apa itu metaclass?

Sebuah metaclass digunakan dalam pemrograman berorientasi objek (OOP) dan biasanya dianggap sebagai kelas kelas.Seperti kebanyakan informasi meta, MetaClass berfungsi di belakang program dan tidak pernah dilihat oleh pengguna.MetaClass dapat memodifikasi informasi dari kelas dan dapat ditautkan 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.

Di hampir semua jenis pengkodean, coding meta adalah tag atau baris kode yang berfungsi pada program, tetapi tidak terlihat secara terbuka olehpengguna.Informasi meta di atas kode dan dapat memodifikasi informasi atau menambah program tanpa secara langsung mengganggu program.Dalam OOP, sebuah metaclass digunakan untuk mengambil kelas dan memodifikasi perilakunya.

Kelas di OOP adalah seperangkat instance atau objek yang ditempatkan di bawah satu istilah payung.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 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 bagian statis dari informasi yang jarang berubah kecuali programmer menemukan informasi meta tidak berfungsi dengan benar.Ini menjaga metaclasses agar tidak secara tidak sengaja bekerja dengan data yang mudah menguap dan juga memastikan pengubah perilaku tidak dapat dimanipulasi.

Tergantung pada kebutuhan programmer, metaklass akan dikaitkan dengan 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 menjalani modifikasi perilaku yang sama, informasi meta akan diterapkan ke beberapa kelas yang berbeda.Ini dimungkinkan karena pengkodean metaobject berjudul dan dapat dengan mudah dipanggil kapan pun diperlukan.

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