Skip to main content

Apa itu Operator Overloading?

Operator Overloading adalah fitur bahasa pemrograman komputer yang memungkinkan seorang programmer untuk mengesampingkan operator default.Ketika fungsi operator kelebihan beban, itu dapat dinyatakan dengan argumen khusus yang merupakan tipe data yang berbeda dari apa yang mampu ditangani oleh operator secara default.Parameter baru mungkin tipe primitif atau pengguna yang ditentukan.Di dalam tubuh fungsi utama, seorang programmer dapat memanipulasi nilai parameter seperti yang diinginkan.Dengan menggunakan Operator Overloading, seorang programmer dapat membuat pintasan intuitif untuk memanipulasi tipe data yang ditentukan pengguna atau memodifikasi bagaimana tipe data default ditangani.

Ketika tipe data yang ditentukan pengguna dibuat, tidak ada cara untuk melakukan tugas operasional yang sederhana, seperti menambahkan duadari mereka bersama atau menambah data internal dengan menggunakan operator kenaikan unary dengan tipe data.Operator, termasuk simbol penambahan, dapat ditimpa sehingga jika mereka digunakan sebagai operator biner antara dua tipe data khusus, mereka mengembalikan hasil yang ditentukan pengguna.Dengan cara yang sama, operator unary, seperti operator penambahan, mungkin ditimpa untuk meningkatkan nilai internal dalam jenis yang ditentukan pengguna.

Setelah operator kelebihan beban, kompiler harus membuat keputusan tentang apa yang harus dilakukan ketika bertemuoperator yang kelebihan beban.Kompiler memutuskan tindakan yang tepat untuk diambil berdasarkan tipe data apa yang digunakan sebagai operan, atau bersamaan dengan, operator.Jika operan, yang merupakan nilai parameter ke fungsi operator, adalah tipe data yang ditentukan pengguna, kompiler akan memilih fungsi kelebihan beban yang memiliki parameter yang cocok dengan operan yang digunakan.

Bahasa komputer bervariasi dalam cara mereka memungkinkan jenis iklan iniPolimorfisme hoc.Bahasa yang berbeda dapat memungkinkan pembuatan operator kustom baru, kelebihan semua atau beberapa operatornya, atau mungkin tidak mengizinkan operator kelebihan beban sama sekali.C ++, C#, PHP, dan Perl semuanya memungkinkan beberapa operator mereka kelebihan beban.Operator Overloading tidak diperbolehkan dalam C, Java, dan JavaScript.

Overloading operator dan kelebihan fungsi secara umum telah menjadi subjek beberapa perdebatan.Beberapa mengklaim bahwa memberikan programmer kebebasan untuk mengubah cara berperilaku operator dapat memperkenalkan potensi untuk menciptakan kesalahan yang tidak disengaja oleh programmer lain yang menggunakan kode yang disesuaikan.Sudut pandang yang berlawanan mengusulkan bahwa memungkinkan kelebihan muatan operator memberi programmer kemampuan membuat kode intuitif dan ringkas yang akan lebih mudah dipahami, lebih murah untuk menghasilkan, dan mengurangi kesalahan.