Overloading & Overriding (Java)
Penjelasan Overloading dan Overriding pada Java
Overloading
Metode Overloading merupakan fungsi yang membuat sebuah
class mempunyai 2 atau lebih method dengan nama yang sama, dengan parameter
yang membedakannnya.
Perbedaan parameter dalam Metode Overloading sebagai berikut
:
1. Jumlah
parameter
2. Tipe data
dari parameter
3. Urutan
dari tipe data parameter
Static Polymorphism adalah sebutan lain dari Metode
Overloading.
Berikut ini contoh Overloading:
public class OverloadingExample {
public void example (int a, int b){
System.out.println("Sum 2 number ="+
(a + b));
}
//oveloading perbedaan jumlah parameter
public void example (int a, int b, int c){
System.out.println("Sum 3 number ="
+ (a + b + c));
}
//overloading perbedaan tipe data parameter
public void example (double a, int b){
System.out.println("Sum 2 number
(double+int) = "+ (a + b));
}
//overloading perbedaan urutan tipe data
parameter
public void example (int b, double a){
System.out.println("Sum 2 num
(int+double) = "+ (a + b));
}
}
Penggunaan pada class utama :
public class MenuExample {
public static void main(String[]
args) {
OverloadingExample exm = new OverloadingExample();
exm.example(99,66);
exm.example(33,66,99);
exm.example(66.99,99);
exm.example(66,66.99);
}
}
Overriding
Metode overriding merupakan metode dimana subclass menulis
kembali parent class-nya. Overriding memiliki aturan yang meliputi :
1. Parameter
yang terdapat pada metode overriding pada subclass harus sama dengan parameter
yang terdapat pada parent class.
2. Aturan
dimana hak akses metode overriding pada subclass tidak boleh lebih private di
bandingkan dengan hak akses method pada parent class.
Berikut ini contoh Overriding :
public class AircraftCarrier {
public void movement(){
System.out.println("4-shaft
Kampon geared turbines 8 Kampon Type B boilers ");
}
public void mainweapon(){
System.out.println("21
Mitsubishi A6M Zero, 27 Aichi D3A, 27 Nakajima B5N ");
}
}
public class Planes extends AircraftCarrier {
//overriding method parent class
public void movement(){
System.out.println("Nakajima
Sakae radial air-cooled engine of 14 cylinders ");
}
public void mainweapon(){
System.out.println("two
20 mm cannons ");
}
}
public class OverridingExample {
public static void main(String[] args)
{
// TODO Auto-generated method stub
AircraftCarrier a = new
AircraftCarrier ();
Planes p = new Planes ();
AircraftCarrier ap = new Planes
();
a.movement();
p.mainweapon();
ap.movement();
ap.mainweapon();
}
}
Komentar
Posting Komentar