Apa perbedaan antara Method Overloading And Overriding?



Artikel ini membahas perbedaan utama antara metode overloading dan overriding di java dengan berbagai contoh termasuk kata kunci super dan berbagai aturan.

Bahasa pemrograman Java adalah pilihan terbaik dalam hal ini . Dengan konsep seperti kelas , , , dll, menjadi sangat mudah untuk dikerjakan . Kemudahan akses dan sintaks yang mudah membuat kode menjadi efisien dan juga tidak rumit. Pada artikel ini, kita akan belajar tentang metode overloading dan overriding di Java. Berikut topik-topik yang dibahas di blog ini:

Apa itu Metode Overloading di Java?

Metode overloading memungkinkan metode untuk memiliki nama yang sama yang berbeda berdasarkan argumen atau tipe argumen. Ini dapat terkait dengan polimorfisme waktu kompilasi. Berikut adalah beberapa petunjuk yang harus kita ingat saat membebani metode di Java.





  • Kami tidak dapat membebani tipe pengembalian secara berlebihan.

  • Meski kita bisa membebani , argumen atau parameter masukan harus berbeda.



    mengatur jalur kelas di linux
  • Kami tidak dapat membebani dua metode jika mereka hanya berbeda dengan kata kunci statis.

  • Seperti metode statis lainnya, metode main () juga bisa kelebihan beban.

metode overloading - metode overloading dan overriding di java- edureka



Mari kita lihat program sederhana untuk memahami cara kerja overloading metode di python.

public class 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 main (String args []) {Div ob = new Div () ob.div (10, 2) ob.div (10, 2, 3)}}
 Keluaran: 5 4

Dalam program di atas, kami memiliki dua metode dengan nama yang sama tetapi parameter berbeda. Beginilah cara kerja metode overloading .

Mengapa Metode Overloading?

Keuntungan utama menggunakan metode overloading di Java adalah memberi kita kebebasan untuk tidak mendefinisikan fungsi lagi dan lagi untuk melakukan hal yang sama. Pada contoh di bawah ini, kedua metode pada dasarnya melakukan pembagian, jadi kita dapat memiliki metode berbeda dengan nama yang sama tetapi dengan parameter berbeda. Ini juga membantu dalam polimorfisme waktu kompilasi.

Membebani metode main ():

Berikut adalah contoh untuk membebani metode main () di java.

kelas publik 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 (' selamat datang ',' to edureka ')} public static void main (String arg1, String arg2) {System.out.println (' hello ', + arg1, + arg2)}}
 Keluaran: halo selamat datang edurekan halo, selamat datang di edureka

Contoh Metode Overloading

  • Program untuk membebani metode statis di java.
Tes kelas publik {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))}}
 Keluaran: 100 edureka
  • Program untuk membebani tiga metode dengan nama yang sama.
public class Tambahkan {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)}}
 Keluaran: 40 75 34

Apa Method Overriding di Java?

Pewarisan di java melibatkan hubungan antara kelas induk dan anak. Setiap kali kedua kelas berisi metode dengan nama dan argumen atau parameter yang sama, pasti salah satu metode akan menimpa metode lain selama eksekusi. Metode yang akan dijalankan bergantung pada objeknya.

Jika objek kelas anak memanggil metode tersebut, metode kelas anak akan menggantikan metode kelas induk. Sebaliknya, jika objek kelas induk memanggil metode tersebut, metode kelas induk akan dieksekusi.

Metode overriding juga membantu dalam mengimplementasikan polimorfisme runtime di java. Mari kita ambil contoh sederhana untuk memahami cara kerja penggantian metode di java.

class Parent {void view () {System.out.println ('this is a parent class method)}} class Child extends Parent {void view () {System.out.println (' ini adalah metode kelas anak)}} public static void main (String args []) {Parent ob = new Parent () ob.view () Parent ob1 = new Child () ob1.view ()
 Keluaran: ini adalah metode kelas anak

Aturan Untuk Penggantian Metode

  • Itu akses edit hanya dapat mengizinkan lebih banyak akses untuk metode yang diganti.

  • UNTUK terakhir metode tidak mendukung penggantian metode.

  • Metode statis tidak dapat diganti.

  • Metode pribadi tidak dapat diganti.

  • Jenis kembalian dari metode penggantian harus sama.

  • Kita dapat memanggil metode kelas induk dalam metode penimpaan menggunakan kata kunci super.

  • UNTUK pembangun tidak dapat diganti karena kelas anak dan kelas induk tidak dapat memiliki konstruktor dengan nama yang sama.

Metode Mengganti Contoh

  • Program untuk menampilkan penggantian menggunakan kata kunci super
kelas Parent {void show () {System.out.println ('metode kelas induk')} kelas Anak meluas Parent {void show () {super.show () System.out.println ('metode kelas anak')} publik static void main (String args []) {Parent ob = new Child () ob.show ()}}
 Keluaran: metode kelas induk metode kelas anak

Overloading vs Overriding: Perbedaan antara Metode Overloading dan Metode Overriding

Berikut adalah perbedaan utama antara metode overloading dan overriding di Java.

Metode Overloading Metode Mengganti
  • Ini digunakan untuk meningkatkan keterbacaan program
  • Menyediakan implementasi spesifik dari metode yang sudah ada di kelas induk
  • Itu dilakukan di dalam kelas yang sama
  • Ini melibatkan banyak kelas
  • Parameter harus berbeda jika terjadi kelebihan muatan
  • Parameter harus sama jika diganti
  • Merupakan contoh polimorfisme waktu kompilasi
  • Ini adalah contoh polimorfisme runtime
  • Jenis pengembalian bisa berbeda tetapi Anda juga harus mengubah parameternya.
  • Jenis pengembalian harus sama dalam menimpa
  • Metode statis dapat kelebihan beban
  • Penimpaan tidak melibatkan metode statis.

Di blog ini, kita telah membahas overloading metode dan metode overriding secara rinci. Dengan keterlibatan kelas, objek, dan konsep seperti pewarisan dan polimorfisme, menjadi cukup penting untuk mendapatkan gagasan yang jelas tentang apa artinya membebani atau mengganti metode di java.

Bahasa pemrograman Java adalah puncak dalam pemrograman berorientasi objek dan menggabungkan banyak aplikasi. Dengan permintaan dan popularitas, pengembang Java yang bercita-cita tinggi harus mahir dalam konsep dasar bahasa pemrograman. Daftar ke Edureka's untuk memulai pembelajaran Anda.

Ada pertanyaan untuk kami? sebutkan ini di bagian komentar artikel ini tentang 'metode overloading vs metode overriding di java' dan kami akan menghubungi Anda kembali secepatnya.