Apakah perbezaan antara Overloading Kaedah dan Overriding?



Artikel ini merangkumi perbezaan utama antara kaedah overloading dan overriding di java dengan pelbagai contoh termasuk kata kunci super dan pelbagai peraturan.

Bahasa pengaturcaraan Java adalah pilihan terbaik ketika datang . Dengan konsep seperti kelas , , , dan lain-lain, ia menjadi sangat mudah untuk digunakan . Kemudahan akses dan sintaks yang mudah menjadikan kodnya cekap dan kurang rumit juga. Dalam artikel ini, kita akan belajar mengenai kaedah overloading dan overriding di Java. Berikut adalah topik yang dibincangkan dalam blog ini:

Apakah Kaedah Overloading di Java?

Overloading kaedah membolehkan kaedah mempunyai nama yang sama yang berbeza berdasarkan argumen atau jenis argumen. Ia boleh dikaitkan dengan polimorfisme masa kompilasi. Berikut adalah beberapa petunjuk yang perlu kita perhatikan semasa kaedah overloading di Java.





  • Kami tidak boleh membebankan jenis pengembalian.

  • Walaupun kita boleh berlebihan , argumen atau parameter input mesti berbeza.



  • Kami tidak boleh membebani dua kaedah jika hanya berbeza dengan kata kunci statik.

  • Seperti kaedah statik yang lain, kaedah utama () juga boleh berlebihan.

kaedah overloading - kaedah overloading dan overriding di java-edureka



cara melaksanakan hashmap di java

Mari kita lihat program sederhana untuk memahami bagaimana kaedah kerja pemunggahan berlebihan di python.

kelas awam Div {public int div (int a, int b) {return (a / b)} public int div (int a, int b, int c) {return ((a + b) / c)} public static void utama (String args []) {Div ob = new Div () ob.div (10, 2) ob.div (10, 2, 3)}}
 Pengeluaran: 5 4

Dalam program di atas, kami mempunyai dua kaedah dengan nama yang sama tetapi berbeza parameternya. Beginilah kaedah kaedah overloading .

Mengapa Kaedah Membebankan?

Kelebihan utama menggunakan kaedah overloading di Java adalah memberi kita kebebasan untuk tidak menentukan fungsi berulang-ulang untuk melakukan perkara yang sama. Dalam contoh di bawah, kedua kaedah pada dasarnya melakukan pembahagian, jadi kita dapat memiliki kaedah yang berbeda dengan nama yang sama tetapi dengan parameter yang berbeza. Ia juga membantu dalam polimorfisme masa kompilasi.

Melebihi kaedah utama ():

Berikut adalah contoh untuk membebani kaedah utama () di java.

kelas awam Edureka {public static void main (String [] args) {System.out.println ('hello') Edureka.main ('edurekan')} public static void main (String arg1) {System.out.println (' selamat datang '+ arg1) Edureka.main (' welcome ',' to edureka ')} awam kosong statik utama (String arg1, String arg2) {System.out.println (' hello ', + arg1, + arg2)}}
 Pengeluaran: halo selamat datang edurekan hello, selamat datang ke edureka

Contoh Kaedah Overloading

  • Program untuk membebani kaedah statik di java.
kelas awam Uji {public static int func (int a) {return 100} public static char func (int a, int b) {return 'edureka'} public static void main (String args []) {System.out.println ( func (1)) System.out.println (func (1,3))}}
 Pengeluaran: 100 edureka
  • Program untuk memuatkan tiga kaedah dengan nama yang sama.
kelas awam Tambah {public int add (int a, int b) {return (a + b)} public int add (int a, int b, int c) {return (a + b + c)} public double add (double a, double b) {return (a + b)} public static void main (String args []) {Add ob = new Add () ob.add (15,25) ob.add (15,25,35) ob .add (11.5, 22.5)}}
 Pengeluaran: 40 75 34

Apakah Kaedah Mengatasi di Jawa?

Warisan dalam java melibatkan hubungan antara kelas ibu bapa dan anak. Apabila kedua-dua kelas mengandungi kaedah dengan nama dan argumen atau parameter yang sama, pasti salah satu kaedah akan mengatasi kaedah lain semasa pelaksanaan. Kaedah yang akan dilaksanakan bergantung pada objek.

Sekiranya objek kelas anak memanggil kaedah tersebut, kaedah kelas anak akan mengatasi kaedah kelas induk. Jika tidak, jika objek kelas induk memanggil kaedah tersebut, kaedah kelas induk akan dijalankan.

Kaedah mengatasi juga membantu dalam melaksanakan polimorfisme runtime di java. Mari kita ambil contoh mudah untuk memahami bagaimana kaedah penggantian kaedah berfungsi di java.

class Parent {void view () {System.out.println ('ini adalah kaedah kelas induk)}} kelas anak meluaskan Parent {void view () {System.out.println (' ini adalah kaedah kelas anak)}} public static void main (String args []) {Parent ob = new Parent () ob.view () Parent ob1 = new Child () ob1.view ()
 Pengeluaran: ini adalah kaedah kelas kanak-kanak

Kaedah Mengatasi Kaedah

  • The akses edit hanya boleh membenarkan lebih banyak akses untuk kaedah yang diganti.

  • KE akhir kaedah tidak menyokong kaedah mengatasi.

  • Kaedah statik tidak boleh diganti.

  • Kaedah peribadi tidak boleh diganti.

  • Jenis pengembalian kaedah pengganti mestilah sama.

  • Kita boleh memanggil kaedah kelas induk dalam kaedah penggantian menggunakan kata kunci super.

  • KE pembina tidak boleh diganti kerana kelas kanak-kanak dan kelas induk tidak boleh mempunyai pembina dengan nama yang sama.

Kaedah Overriding Contoh

  • Program untuk menunjukkan yang berlebihan menggunakan kata kunci super
kelas Parent {void show () {System.out.println ('kaedah kelas induk')} kelas Anak meluaskan Parent {void show () {super.show () System.out.println ('kaedah kelas anak')} awam statik kekosongan utama (String args []) {Ibu bapa ob = anak baru () ob.show ()}}
 Pengeluaran: kaedah kelas ibu bapa kaedah kelas anak

Overloading vs Overriding: Perbezaan antara Kaedah Overloading dan Kaedah Overriding

Berikut adalah perbezaan utama antara kaedah overloading dan overriding di Java.

Kaedah Membebankan Kaedah Mengatasi
  • Ia digunakan untuk meningkatkan pembacaan program
  • Menyediakan pelaksanaan kaedah yang khusus sudah ada di kelas induk
  • Ia dilakukan dalam kelas yang sama
  • Ia melibatkan pelbagai kelas
  • Parameter mesti berbeza sekiranya berlaku beban berlebihan
  • Parameter mesti sama sekiranya berlaku overriding
  • Merupakan contoh polimorfisme masa kompilasi
  • Ini adalah contoh polimorfisme runtime
  • Jenis pengembalian boleh berbeza tetapi anda mesti mengubah parameternya juga.
  • Jenis pengembalian mesti sama dalam penggantian
  • Kaedah statik boleh berlebihan
  • Mengatasi tidak melibatkan kaedah statik.

Di blog ini, kami telah membincangkan kaedah overloading dan kaedah overriding secara terperinci. Dengan penglibatan kelas, objek, dan konsep seperti pewarisan dan polimorfisme, menjadi sangat penting untuk mendapatkan idea yang jelas tentang apa yang dimaksudkan dengan kaedah berlebihan atau mengatasi kaedah di java.

Bahasa pengaturcaraan Java adalah puncak dalam pengaturcaraan berorientasi objek dan menggabungkan banyak aplikasi. Dengan permintaan dan populariti, pemaju java yang bercita-cita tinggi mesti mahir dalam konsep asas bahasa pengaturcaraan. Daftar ke Edureka's untuk memulakan pembelajaran anda.

Ada soalan untuk kami? sila sebutkan ini di bahagian komen artikel ini mengenai 'kaedah overloading vs method overriding in java' dan kami akan menghubungi anda secepat mungkin.