Rumah> Java> javaTutorial> teks badan

Kaedah Overloading

PHPz
Lepaskan: 2024-08-28 06:33:36
asal
782 orang telah melayarinya
  • Java membenarkan pemuatan kaedah, di mana dua atau lebih kaedah kelas yang sama boleh berkongsi nama yang sama.

  • Pembebanan kaedah berlaku apabila pengisytiharan parameter kaedah berbeza.

  • Pembebanan kaedah ialah cara melaksanakan polimorfisme di Jawa.

  • Untuk membebankan kaedah, anda perlu mengisytiharkan versi yang berbeza bagi kaedah tersebut.

  • Pengkompil secara automatik memilih kaedah yang betul berdasarkan parameter.

  • Sekatan penting: kaedah terlebih beban mesti berbeza dalam jenis dan/atau bilangan parameter, bukan hanya jenis pemulangan.

  • Kaedah lebih muatan juga boleh berbeza dalam jenis pemulangannya, tetapi parameter penting untuk memilih kaedah yang betul.

  • Apabila kaedah terlebih muatan dipanggil, versi dengan parameter yang sepadan dengan hujah akan dilaksanakan.

Sobrecarga de métodos

Sobrecarga de métodos

  • Kaedah ovlDemo() dibebankan sebanyak empat kali dengan tandatangan berbeza:

  • Versi pertama: tiada parameter.

  • Versi kedua: dengan parameter integer.

  • Versi ketiga: dengan dua parameter integer.

  • Versi keempat: dengan dua parameter berganda.

  • Dua versi pertama ovlDemo() mengembalikan batal, manakala dua versi terakhir mengembalikan nilai.

  • Pembebanan kaedah tidak terjejas oleh jenis pemulangan.

  • Percubaan untuk menggunakan kedua-dua versi ovlDemo() dengan tandatangan hanya dibezakan mengikut jenis pemulangan akan menyebabkan ralat.

Sobrecarga de métodos

  • Perbezaan dalam jenis pulangan tidak mencukupi untuk kaedah lebihan beban di Jawa.

  • Contoh menunjukkan bahawa dua kaedah dengan tandatangan yang sama, walaupun dengan jenis pulangan yang berbeza, menyebabkan ralat.

  • Java melakukan penukaran jenis automatik dan penukaran ini juga digunakan pada parameter kaedah terlebih beban.

Sobrecarga de métodos

  • Contoh menunjukkan dua versi kaedah f(): satu dengan parameter int dan satu lagi dengan parameter berganda.

  • Nilai jenis bait dan pendek ditukar kepada int secara automatik dengan memanggil kaedah f(int).

  • Nilai apungan ditukar kepada dua kali ganda dengan memanggil kaedah f(double).

  • Penukaran automatik berlaku apabila tiada padanan langsung antara parameter dan hujah.

  • Menambah versi f() dengan parameter bait boleh mengubah cara nilai dikendalikan.

Sobrecarga de métodos

  • Dengan versi semasa, apabila f() dipanggil dengan hujah bait, f(bait) dipanggil terus, tanpa penukaran automatik kepada int.

  • Pembebanan kaedah membolehkan polimorfisme dalam Java, memudahkan pelaksanaan paradigma "satu antara muka, banyak kaedah".

  • Dalam bahasa tanpa sokongan yang berlebihan, kaedah serupa untuk jenis data yang berbeza perlu mempunyai nama yang berbeza (cth. abs(), labs(), fabs() dalam C).

  • Java membolehkan anda menggunakan nama yang sama untuk kaedah dengan jenis argumen yang berbeza, seperti kaedah abs() kelas Matematik, yang terlebih beban untuk jenis angka yang berbeza.

  • Pemuatan berlebihan mengurangkan kerumitan dengan membenarkan kaedah yang berkaitan berkongsi nama yang sama.

  • Pemilihan versi kaedah yang betul dilakukan oleh pengkompil berdasarkan jenis hujah.

  • Walaupun kaedah terlebih beban boleh melakukan aktiviti yang berbeza, ia mesti berkaitan untuk mengekalkan kejelasan dan kepaduan.

  • Elakkan menggunakan nama kaedah terlebih beban untuk operasi yang tidak berkaitan kerana ini mungkin mengelirukan maksud kod.

Atas ialah kandungan terperinci Kaedah Overloading. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!