Skip to main content

Apa itu fungsi kelas satu?

Function Fungsi kelas satu adalah istilah yang dapat diterapkan dalam pemrograman komputer dan ilmu komputer ke bahasa pemrograman komputer jika perlakuan fungsi-fungsi tersebut mematuhi serangkaian pedoman, meskipun ruang lingkup penuh dan kedalaman pedoman ini tidak disepakati secara formal.Untuk memiliki fungsi pemrograman komputer kelas satu, fitur utama yang harus didukung adalah kemampuan untuk meneruskan fungsi sebagai argumen ke fungsi lain.Fungsi juga harus dapat ditugaskan ke variabel sehingga dapat disimpan.Properti lain yang digunakan untuk menentukan apa yang merupakan fungsi kelas satu termasuk kemampuan untuk secara dinamis menghasilkan fungsi pada runtime dan kemampuan bahasa untuk memiliki fungsi sebagai nilai pengembalian fungsi lain.Bahasa yang mendukung arsitektur fungsi kelas satu memungkinkan untuk tingkat abstraksi yang tinggi dan juga, dalam beberapa kasus, memberikan mekanisme untuk pembuatan kode dinamis run-time.

Ketika fungsi istilah digunakan dalam arti yang jelas, konsep konsep dariMelewati fungsi dalam suatu program melalui variabel tidak selalu unik untuk bahasa yang secara alami menerapkan dukungan fungsi kelas satu.Kemampuan untuk meneruskan blok kode ke fungsi, atau mengembalikan kode non-dinamis dari suatu fungsi, dapat dengan mudah dilakukan dalam banyak bahasa pemrograman melalui mekanisme yang berbeda.Namun, salah satu bagian ketat dari definisi bahasa fungsi kelas satu, adalah bahwa penanganan fungsi sebagai variabel harus dilakukan secara asli, tanpa menggunakan metadata seperti definisi bersyarat dan tanpa memanggil kompiler untuk mengkompilasi ulang sepotong sepotong darikode.Fungsi istilah juga digunakan untuk merujuk pada blok kode independen yang dipanggil sendiri, artinya mereka tidak menyertakan blok kode yang dikenal sebagai metode dalam bahasa pemrograman berorientasi objek atau blok yang kadang -kadang disebut prosedur dalam bahasa lain.

Saat bahasadirancang untuk memungkinkan kode fungsi kelas satu, beberapa pola desain dapat diimplementasikan lebih langsung daripada dalam bahasa lain.Fungsi dapat menerima fungsi sebagai variabel, dan kemudian membangun fungsi baru dan mengembalikan fungsi baru ke kode panggilan, jadi ini menciptakan mekanisme untuk pembuatan kode program run-time.Ini juga dapat memanfaatkan fungsi-fungsi yang dimasukkan oleh pengguna real-time dalam bahasa tanpa menggunakan proses seperti refleksi atau evaluasi.

Beberapa kegunaan paling dasar untuk arsitektur fungsi kelas satu termasuk membuat fungsi generik yang dapat dengan mudah dapat dengan mudahdigunakan kembali dan menerapkan algoritma matematika rekursif yang mampu memodifikasi diri sendiri persamaan mereka saat mereka maju.Salah satu penggunaan yang serupa dan lebih maju untuk mekanisme kelas satu adalah implementasi polimorfisme dalam bahasa di mana ia tidak diterapkan secara khusus.Ini dapat memungkinkan fungsi dipanggil dengan tanda tangan fungsi yang sama tetapi menjalankan kode berdasarkan konteks di mana itu disebut, kadang -kadang dengan melewati fungsi kunci ke fungsi polimorfik.