Sabtu, 15 Januari 2011


OVERLOADING DAN OVERRIDING

A.   Overloading
Overloading  adalah suatu kemampuan dalam bahasa berorientasi objek untuk menggunakan satu nama method utnuk beberapa method yang memiliki parameter masukan yang berbeda (tipe maupun jumlah parameter). Overloading memodifikasi secara horisontal method maupun konstruktur milik kelas super, maupun kelas yang sama.

Contoh:
            Public void kuadrat (int x);
Dapat di overload menjadi:
            Public void kuadrat (double y);
Atau dioverload menjadi:
            Public void kuadrat (int x, int y);


Analogi overloading:
Suatu kelas manusia memiliki method menulis, objek yang dapat digunakan (parameter) untuk menulis antara lain: ballpoint, kaput. Hasil (return value) dari method menulis adalah Tulisan. Secara umum implementasi saat kita menulis menggunakan ballpoint adalah menulis di atas kertas dengan ukuran font yang kecil, sementara implementasi saat kita menggunakan kapur adalah menulis diatas papan tulis dengan ukuran font yang besar, ternyata dengan method yang sama, kita memiliki implementasi yang berbeda apabila parameternya berbeda dalam pemrograman berorientasi objek, kejadian tersebut disebut sebagai overloading dalam hal ini kita telah meng-overload (dengan tipe parameter) method menulis.
               
               
Contoh program Overloading adalah:
a.     Class segitiga;
class segitiga{
public segitiga (double panjang){
System.out.println("\n1 atribut, berarti segitiga sama sisi");
System.out.println("panjang= " +panjang);
setkeliling (panjang);
}
public segitiga (double panjang, double sisimiring){
//overloading konstruktur
System.out.println("\n2 atribut, berarti segitiga sama kaki");
System.out.println("panjang= "+panjang+"sisi miring= "+sisimiring);
setkeliling (panjang,sisimiring);
}
private void setkeliling (double panjang){
gethasil (panjang*3);
}
private void setkeliling (double p, double sm){
//overloading method
gethasil (2*sm+p);
}
protected void gethasil (double h){
System.out.println("hasil= "+h);
}
}

Output:


b.     Class mainsegitiga;
class mainsegitiga{
public static void main (String [] args){
segitiga s1=new segitiga(7);
segitiga s2=new segitiga(4,7);
}
}


                                Output:





B.   Overriding
Overriding adalah suatu kemampuan dalam bahasa berorientasi objek untuk mengubah implementasi (menimpa) suatu method yang dimiliki oleh kelas super ketika kelas super tersebut diturunkan. Overriding memodifikasi secara vertikal method milik kelas super.

Ada dua alasan mengapa overriding dilakukan:
1.        Mendefinisikan kembali method kelas induk secara total;
2.       Menambahkan behaviour tertentu pada method kelas induk;

Contoh program Overriding adalah:
a.     Class overriding.java;
class overriding{
public void methodasli(){
System.out.println("method milik class overriding dijalankan");
}
public static void main(String[]args){
overriding o=new overriding();
o.methodasli();
}
}


                                Output:









b.     Class suboverriding.java;
class suboverriding extends overriding {
//class ini turunan class overriding
public void methodasli(){
//method ini menimpa methodasli milik class overriding
System.out.println ("method milik class overriding yang sudah dioverride dijalankan");
}
public void methodaslisuper(){;
//method ini memanggil methodasli milik class overriding
System.out.println ("method pemanggil methodasli milik class overriding dijalankan");
super.methodasli();
}
public static void main(String[]args){
suboverriding so=new suboverriding();
so.methodasli();
so.methodaslisuper();
}
}
               

                Output:

Tidak ada komentar:

Posting Komentar