OverLoading
Dan OverRiding
- Overloading
OverLoading
adalah membuat dua atau lebih method dengan nama yang sama dalam satu class
tetapi method – method tersebut harus dapat dibedakan antara satu dengan yang
lainnya, baik dalam jumlah parameter maupun tipe parameter.
Contoh
source code:
class
Mobil
{
String warna;
int tahunproduksi;
public Mobil(String warna, int
tahunproduksi)
{
this.warna =
warna;
this.tahunproduksi
= tahunproduksi;
}
public Mobil()
{
}
void info()
{
System.out.println("Warna:
"+this.warna);
System.out.println("Tahun:
"+this.tahunproduksi);
}
}
class
MobilKonstruktor
{
public static void main(String
args[])
{
Mobil
mobilku = new Mobil("Biru",2009);
mobilku.info();
Mobil
mobilmu = new Mobil();
mobilmu.info();
}
}
- Overriding
OverRiding
adalah kemampuan class anak untuk memodifikasi atau mendefenisikan kembali
variable dan method dari class induknya. Proses ini akan dirubah variable dan
method dari kedua class tersebut (class induk dan class anak).
Ada 2
alasan mengapa melakukan OverRiding :
a.
Mendefenisikan kembali method class induk secara total
b.
Menambahkan kembali behaviour tertentu pada method class induk.
Contoh
source code :
class Sepeda
{
int kecepatan=0;
int gir=0;
void ubahGir(int pertambahanGir)
{
gir=gir+pertambahanGir;
System.out.println("Gir:
"+gir);
}
void tambahkecepatan(int
pertambahankecepatan)
{
kecepatan=kecepatan+pertambahankecepatan;
System.out.println("Kecepatan:
"+kecepatan);
}
}
class
SepedaGunung extends Sepeda
{
void ubahGir(int pertambahanGir)
{
gir=2*(gir+pertambahanGir);
System.out.println("Gir:
"+gir);
}
}
class
SepedaGunungAction
{
public static void main (String
args[])
{
SepedaGunung
sepedaku = new SepedaGunung();
sepedaku.tambahkecepatan(10);
sepedaku.ubahGir(1);
}
}
Perbedaan
OverLoadiong dan OverRiding dapat dilihat pada table berikut :
OverLoading
|
OverRiding
|
|
Terjadi
dalam
|
Satu
class
|
Dua
Class (class super dan subclass
|
Terjadi
pada
|
Method
|
Method
|
Nama
method
|
Sama
|
Sama
|
Parameter
|
Beda
(Jumlah parameter dan tipe parameter
|
Sama
(Jumlah parameter dan tipe parameter)
|
Kesimpulan
|
Hasilnya
serupa tapi tak sama
|
Sama
dan ditimpa
|
0 comments:
Post a Comment