Pengiriman Banyak vs. Kelebihan Fungsi


14

Saya mencoba memahami perbedaan (jika ada) antara keduanya.

Menurut halaman Wikipedia untuk Pengiriman Ganda , ini identik dengan Function Overloading, tetapi kemudian mengatakan:

Dalam bahasa dengan hanya pengiriman tunggal, seperti Java [...]

yang tampaknya seperti kontradiksi, karena Java mendukung fungsi overloading.

Jadi yang mana? Apakah Multiple Dispatch berbeda dari Function Overloading, atau apakah artikelnya salah dengan menyatakan bahwa Java tidak mendukung Multible Dispatch?

Jawaban:


16

Pengiriman ganda tidak (selalu) sama dengan fungsi overloading, meskipun mereka memiliki beberapa kesamaan. Dan Java tidak mendukung pengiriman ganda.

Dalam bahasa yang diketik secara statis, termasuk Java, perbedaan terbesar antara pengiriman dan overloading adalah bahwa overloading didasarkan pada tipe statis parameter (yaitu pilihan metode mana yang sebenarnya disebut ditentukan waktu kompilasi), sedangkan pengiriman didasarkan pada dinamika jenis (yaitu keputusan dibuat runtime). (Bahasa seperti itu biasanya tidak mendukung pengiriman ganda.)

Tapi sekali lagi, ini mungkin pertanyaan tentang terminologi. Dalam bahasa yang diketik secara dinamis, pengiriman dan kelebihan muatan tampaknya memang mengarah pada hal yang sama.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.