Melebihi Fungsi Berdasarkan Jenis Pemulangan dalam Java dan C
Soalan:
Mengapa tidak mungkin untuk membebankan fungsi semata-mata berdasarkan perubahan dalam jenis pulangan dalam Java atau C ? Adakah kefungsian ini akan tersedia dalam versi Java akan datang?
Jawapan:
Java
Melebihi fungsi berdasarkan jenis pemulangan semata-mata tidak mungkin dalam Java atau C . Alasan di sebalik ini ialah nilai pulangan sahaja tidak menyediakan maklumat yang mencukupi untuk pengkompil menentukan fungsi mana yang hendak digunakan. Contohnya:
<code class="java">public int foo() {...} public float foo() {..} ... foo(); // which one?</code>
C
Begitu juga, dalam C , tidak mungkin untuk melebihkan fungsi menggunakan hanya jenis pulangan. Kekangan ini memastikan bahawa pengkompil boleh mengenal pasti dengan jelas fungsi yang dimaksudkan semasa proses penyusunan.
Sekatan ini membantu mencegah kekaburan dan kemungkinan ralat dalam kod, kerana pengkompil boleh bergantung pada set peraturan yang konsisten untuk lebihan muatan.
Atas ialah kandungan terperinci Mengapa Fungsi Tidak Boleh Dibebankan Semata-mata Berdasarkan Jenis Pemulangan dalam Java dan C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!