Pages

Sunday 20 November 2016

PBO Materi 6 - Overloading dan Overriding

Method Overloading 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

Method Overloading juga dikenal dengan sebutan Static Polymorphism. Berikut ini contoh Class yang melakukan Overloading.

1:  class MyClass {
2:    int height;
3:    MyClass() {
4:     System.out.println("bricks");
5:     height = 0;
6:    }
7:    MyClass(int i) {
8:     System.out.println("Building new House that is "
9:     + i + " feet tall");
10:     height = i;
11:    }
12:    void info() {
13:     System.out.println("House is " + height
14:     + " feet tall");
15:    }
16:    void info(String s) {
17:     System.out.println(s + ": House is "
18:     + height + " feet tall");
19:    }
20:  }
21:  public class MainClass {
22:    public static void main(String[] args) {
23:     MyClass t = new MyClass(0);
24:     t.info();
25:     t.info("overloaded method");
26:     //Overloaded constructor:
27:     new MyClass();
28:    }
29:  }

hasilnya ialah



Overriding
Overriding
Method overriding merupakan method yang parrent class yang ditulis kembali oleh subclass. 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 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();
    }
}
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 Binatang {
    public void begerak(){
        System.out.println("Binatang bergerak sesuai kemampuannya");
    }
    public void berkembangBiak(){
        System.out.println("Binatang berkembang biak sesuai kemampuannya");
    }

}




0 comments:

Post a Comment