Apa Fungsi Overloading?

Fungsi overloading adalah fitur dari banyak bahasa pemrograman di mana beberapa metode dapat dibuat dengan nama yang sama tetapi dengan parameter input atau tipe pengembalian yang berbeda.Ini adalah fitur umum dalam pemrograman berorientasi objek;konstruktor khususnya mungkin memiliki beberapa varian kelebihan beban yang berbeda.Pada dasarnya, fungsi overloading berguna ketika dua fungsi melakukan hal yang sangat mirip dan dapat mengambil beberapa jenis input untuk melakukannya.Konstruktor dapat kelebihan beban dengan mudah karena mereka tidak memiliki tipe pengembalian eksplisit yang ditentukan, jadi cukup mengubah parameter input konstruktor akan menjadi kelebihan beban yang valid.

Dalam pemrograman komputer berorientasi objek, ketika dua atau lebih fungsi berbagi nama yang sama tetapi memiliki parameter yang berbeda disebut fungsi overloading.

Cara pertama di mana suatu fungsi dapat kelebihan beban adalah dengan mengubah parameter inputnya.Misalnya, seseorang dapat mempertimbangkan fungsi yang disebut “tambah” yang mengambil dua bilangan bulat sebagai inputnya.Tujuan dari fungsi ini cukup jelas;itu dimaksudkan untuk menemukan jumlah dua bilangan bulat.

Namun, jika seseorang ingin mencari jumlah dua float, atau angka desimal, fungsi ini tidak akan berlaku.Jadi, fungsi kelebihan beban kedua akan diperlukan, didefinisikan sebagai fungsi yang disebut “tambah” yang mengambil inputnya dua float.Fungsi pada dasarnya melakukan hal yang sama, tetapi fungsi overloading diperlukan karena inputnya berbeda secara signifikan.

Cara kedua di mana suatu fungsi dapat kelebihan beban adalah dengan mengubah parameter input dan tipe pengembaliannya.Dengan menggunakan contoh sebelumnya, seseorang dapat mempertimbangkan apakah kedua fungsi “tambah” yang kelebihan beban memiliki tipe pengembalian batal;yaitu, mereka tidak mengembalikan apa pun.Ini masih akan menjadi fungsi overloading yang valid, tetapi tipe pengembalian dari kedua metode juga dapat diubah.Dalam contoh kelebihan beban lain yang valid, fungsi “tambah” yang mengambil dua bilangan bulat dapat mengembalikan jumlah bilangan bulat itu, dan fungsi “tambah” yang mengambil dua bilangan desimal dapat mengembalikan jumlah bilangan desimal itu.

Hanya dengan mengubah tipe kembalian suatu fungsi, bagaimanapun, tidak dianggap sebagai kelebihan fungsi yang valid.Mengubah hanya tipe pengembalian suatu fungsi menghasilkan ambiguitas, karena tidak jelas dari tanda tangan metode tipe pengembalian mana yang diinginkan.Parameter juga dapat didefinisikan secara ambigu, sehingga sangat penting untuk memanggil fungsi yang kelebihan beban dengan benar.Misalnya, jika seseorang memiliki fungsi kelebihan beban yang memiliki bilangan bulat sebagai parameter inputnya, dan yang lain memiliki bilangan desimal sebagai parameter, akan sangat mudah bagi seseorang untuk secara tidak sengaja memanggil fungsi bilangan desimal alih-alih fungsi bilangan bulat. , atau sebaliknya, karena memiliki nama yang sama.Parameter ambigu seperti ini harus dihindari jika memungkinkan, dan jika tidak, perhatian besar harus diberikan untuk memastikan bahwa fungsi kelebihan beban yang tepat dipanggil pada waktu yang tepat.

Fungsi overloading berguna untuk membuat fungsi terkait dengan tipe input yang bervariasi, dan memberikan banyak fleksibilitas pada kode.Satu pertimbangan terakhir pada fungsi yang kelebihan beban adalah bahwa komentar yang memadai sangat penting.Meskipun mungkin jelas dengan parameter input yang berbeda versi fungsi kelebihan beban apa yang tepat untuk situasi tertentu, mungkin tidak selalu jelas persis apa fungsi berbeda dari mitra kelebihan beban lainnya.

Related Posts