Overriding Method dan Overloading Method
Overriding Method
Overriding memiliki method yang namanya sama namun berbeda class. Method pertama adalah method yang berasal dari class induk dengan parameter yang sama dengan method pada class anak. Pada Overriding nama mathod dan parameter pada kedua classnya harus sama.
Overriding Method adalah metode pada subclass yang mempunyai nama dan tipe identik atau sama dengan superclass.Aturan dari method overriding pada Java :
- Parameter yang terdapat pada method overriding di subclass harus sama dengan parameter yang terdapat pada parent class.
- Aturan hak akses, hak akses method overriding di subclass tidak boleh lebih ketat di bandingkan dengan hak akses method pada parent class.
public class Binatang {
public void begerak(){
System.out.println("Binatang bergerak sesuai kemampuannya");
}
public void berkembangBiak(){
System.out.println("Binatang berkembang biak sesuai kemampuannya");
}
}
public class Mamalia extends Binatang {
//overriding method parent class
public void begerak(){
System.out.println("Mamalia bergerak sebagian besar dengan kakinya");
}
public void berlari(){
System.out.println("Sebagian Mamalia dapat berlari");
}
}
public class PenggunaanOverriding {
public static void main(String[] args) {
// TODO Auto-generated method stub
Binatang b = new Binatang();
Mamalia m = new Mamalia();
Binatang bm = new Mamalia();
b.begerak();
m.begerak();
bm.begerak();
bm.berkembangBiak();
}
}
Overloading Method
Overloading Method adalah sebuah kemampuan yang membolehkan sebuah
class mempunyai 2 atau lebih method dengan nama yang sama, yang
membedakan adalah parameternya.Pada method overloading perbedaan parameter mencakup :
- Jumlah parameter
- Tipe data dari parameter
- Urutan dari tipe data parameter
Berikut ini merupakan contohnya:
public class ContohOverloading {
public void jumlah (int a, int b){
System.out.println("Jumlah 2 angka ="+ (a + b));
}
//oveloading perbedaan jumlah parameter
public void jumlah (int a, int b, int c){
System.out.println("Jumlah 3 angka =" + (a + b + c));
}
//overloading perbedaan tipe data parameter
public void jumlah (double a, int b){
System.out.println("Jumlah 2 angka (double+int) = "+ (a + b));
}
//overloading perbedaan urutan tipe data parameter
public void jumlah (int b, double a){
System.out.println("Jumlah 2 angka (int+double) = "+ (a + b));
}
}
Penggunaan pada class utama :
public class PenggunaanOverloading {
public static void main(String[] args) {
ContohOverloading co = new ContohOverloading();
co.jumlah(83,32);
co.jumlah(34,454,432);
co.jumlah(34.43,34);
co.jumlah(28,33.23);
}
}
0 komentar