Beban Kaedah Java (Dengan Contoh)

Dalam artikel ini, anda akan belajar mengenai kaedah overloading dan bagaimana anda boleh mencapainya di Java dengan bantuan contoh.

Di Jawa, dua atau lebih kaedah mungkin mempunyai nama yang sama jika mereka berbeza dalam parameter (bilangan parameter yang berlainan, jenis parameter yang berlainan, atau keduanya). Kaedah ini dipanggil kaedah overloaded dan ciri ini disebut kaedah overloading. Sebagai contoh:

 void func () (…) void func (int a) (…) float func (double a) (…) float func (int a, float b) (…)

Di sini, func()kaedahnya terlalu banyak. Kaedah ini mempunyai nama yang sama tetapi menerima hujah yang berbeza.

Catatan : Jenis pengembalian kaedah di atas tidak sama. Ini kerana kaedah overloading tidak dikaitkan dengan jenis pengembalian. Kaedah yang terlalu banyak mungkin mempunyai jenis pengembalian yang sama atau berbeza, tetapi kaedahnya mesti berbeza.

Mengapa kaedah overloading?

Katakan, anda harus melakukan penambahan nombor yang diberikan tetapi mungkin ada sebilangan argumen (katakan sama ada 2 atau 3 argumen untuk kesederhanaan).

Untuk menyelesaikan tugas, anda boleh membuat dua kaedah sum2num(int, int)dan sum3num(int, int, int)untuk dua dan tiga parameter masing-masing. Walau bagaimanapun, pengaturcara lain, dan juga anda pada masa akan datang mungkin keliru kerana tingkah laku kedua-dua kaedah itu sama tetapi mereka berbeza mengikut namanya.

Cara yang lebih baik untuk menyelesaikan tugas ini adalah dengan kaedah overloading. Dan, bergantung pada hujah yang dilontarkan, salah satu kaedah yang terlalu banyak dipanggil. Ini membantu meningkatkan tahap pembacaan program.

Bagaimana cara melakukan kaedah overloading di Java?

Berikut adalah pelbagai cara untuk melakukan kaedah overloading:

1. Beban berlebihan dengan mengubah jumlah hujah

 class MethodOverloading ( private static void display(int a)( System.out.println("Arguments: " + a); ) private static void display(int a, int b)( System.out.println("Arguments: " + a + " and " + b); ) public static void main(String() args) ( display(1); display(1, 4); ) )

Keluaran :

 Hujah: 1 Hujah: 1 dan 4

2. Dengan menukar jenis data parameter

 class MethodOverloading ( // this method accepts int private static void display(int a)( System.out.println("Got Integer data."); ) // this method accepts String object private static void display(String a)( System.out.println("Got String object."); ) public static void main(String() args) ( display(1); display("Hello"); ) ) 

Keluaran :

Mendapat data Integer. Mendapat objek String.

Di sini, kedua-dua kaedah yang terlalu banyak menerima satu hujah. Namun, seseorang menerima hujah jenis intsedangkan yang lain menerima Stringobjek.

Mari kita lihat contoh dunia nyata:

 class HelperService ( private String formatNumber(int value) ( return String.format("%d", value); ) private String formatNumber(double value) ( return String.format("%.3f", value); ) private String formatNumber(String value) ( return String.format("%.2f", Double.parseDouble(value)); ) public static void main(String() args) ( HelperService hs = new HelperService(); System.out.println(hs.formatNumber(500)); System.out.println(hs.formatNumber(89.9934)); System.out.println(hs.formatNumber("550")); ) )

Semasa anda menjalankan program, outputnya adalah:

 500 89.993 550.00

Catatan : Di Java, anda juga boleh membebani konstruktor dengan cara yang serupa seperti kaedah.

Bacaan yang Disyorkan: Overloading Konstruktor Java

Perkara Penting

  • Dua atau lebih kaedah boleh mempunyai nama yang sama di dalam kelas yang sama jika mereka menerima hujah yang berbeza. Ciri ini dikenali sebagai kaedah overloading.
  • Kaedah overloading dicapai dengan sama ada:
    • mengubah bilangan hujah.
    • atau menukar jenis data argumen.
  • Bukan kaedah overloading jika kita hanya mengubah jenis kaedah kembali. Pasti terdapat perbezaan dalam jumlah parameter.

Artikel menarik...