Daftar Isi
Lancang Kuning - Metode Overloading adalah polimorfisme waktu kompilasi . Dalam metode overloading, lebih dari satu metode berbagi nama metode yang sama dengan tanda tangan berbeda di kelas. Dalam metode overloading, tipe return bisa atau tidak bisa sama, tetapi kita harus mengubah parameter karena di java, kita tidak bisa mencapai metode overloading dengan mengubah hanya tipe return dari metode
Baca juga : Tempat Wisata di Riau
Overriding vs overloading
- Overriding mengimplementasikan Runtime Polymorphism sedangkan Overloading mengimplementasikan Compile time polymorphism.
- Metode Overriding terjadi antara superclass dan subclass. Overloading terjadi antara metode di kelas yang sama.
- Metode utama memiliki tanda tangan yang sama yaitu argumen nama dan metode yang sama. Nama metode kelebihan beban adalah sama tetapi parameternya berbeda.
- Dengan Overloading, metode untuk menelepon ditentukan pada waktu kompilasi. Dengan mengesampingkan, pemanggilan metode ditentukan pada saat runtime berdasarkan pada jenis objek.
- Jika mengganti istirahat, ini dapat menyebabkan masalah serius dalam program kami karena efeknya akan terlihat saat runtime. Sedangkan jika overloading rusak, kesalahan waktu kompilasi akan datang dan mudah diperbaiki.
Contoh kelebihan metode:
class MethodOverloadingEx {
static int add (int a, int b) {return a + b;}
static int add (int a, int b, int c) {mengembalikan + b + c;}
public static static utama (String args []) {
System.out.println (tambahkan (4, 6));
System.out.println (tambahkan (4, 6, 7));
}
}
Keluaran:
// Di sini, tambahkan dengan dua metode parameter berjalan
10
// Sementara di sini, tambahkan dengan tiga metode metode berjalan
17
Metode Overriding :
Metode Overriding adalah polimorfisme Run time . Dalam metode overriding, kelas turunan menyediakan implementasi spesifik dari metode yang sudah disediakan oleh kelas dasar atau kelas induk. Dalam metode overriding, tipe return harus sama atau co-variant (tipe return dapat bervariasi dalam arah yang sama dengan kelas turunan).
Baca juga : Konsep Polimorfisme Dengan Overloading Dan Overriding
Contoh metode utama:
kelas Hewan {
batal makan () {System.out.println ("makan.");}
}
Anjing kelas memperpanjang Animal {
batal makan () {System.out.println ("Anjing sedang makan.");}
}
class MethodOverridingEx {
public static static utama (String args []) {
Anjing d1 = Anjing baru ();
Hewan a1 = Hewan baru ();
d1.eat ();
a1.eat ();
}
}
Keluaran:
// Metode kelas turunan makan () dijalankan
Anjing sedang makan
// Metode kelas dasar eat () berjalan
memakan
/ * Di sini, kita dapat melihat bahwa metode eat () telah diganti dalam nama kelas turunan Dog yang sudah disediakan oleh nama kelas dasar Animal .
Ketika kita membuat instance dari class Dog dan memanggil metode eat (), kita melihat bahwa hanya turunan class eat () yang menjalankan alih-alih metode kelas base eat () dan Ketika kita membuat instance class Animal dan memanggil eat () metode, kita melihat bahwa hanya makan kelas dasar () metode berjalan bukan metode kelas turunan makan ().
Baca juga : Tempat Wisata di Pekanbaru
Jadi, jelas bahwa dalam metode overriding, metode terikat pada instance pada run time yang ditentukan oleh JVM . Karena itulah disebut Run time polymorphism * /
Perbedaan antara Metode Overloading dan Metode Overriding di Jawa:
S.NO |
METODE OVERLOADING |
METODE OVERRIDING |
---|---|---|
1. |
Metode overloading adalah polimorfisme waktu kompilasi. |
Metode overriding adalah polimorfisme run time. |
2. |
Ini membantu meningkatkan keterbacaan program. |
Sementara itu digunakan untuk memberikan implementasi spesifik dari metode yang sudah disediakan oleh kelas induknya atau kelas super. |
3. |
Itu terjadi di dalam kelas. |
Sementara itu dilakukan dalam dua kelas dengan hubungan warisan. |
4. |
Metode overloading mungkin atau mungkin tidak memerlukan pewarisan. |
Sementara metode override selalu membutuhkan pewarisan. |
5. |
Dalam hal ini, metode harus memiliki nama dan tanda tangan yang berbeda. |
Sementara dalam hal ini, metode harus memiliki nama dan tanda tangan yang sama. |
6. |
Dalam metode overloading, tipe pengembalian bisa atau tidak bisa sama, tetapi kita harus mengubah parameter. |
Sementara dalam hal ini, tipe pengembalian harus sama atau ko-varian. |
(Fykral)
Komentar