Rabu, 04 Mei 2016

Overloading dan Overriding

Overloading 


Overloading merupakan konsep dalam pemrograman berorientasi objek yang memungkinkan untuk membuat suatu kelas memiliki beberapa method dengan nama sama tetapi memiliki implementasi atau argumen yang berbeda. 

 Dalam bahasa pemprograman Java diperkenankan untuk mendefinisikan dua method atau lebih dengan nama yang sama di dalam satu kelas sepanjang deklarasi dan parameternya berbeda, atau disebut signature-nya berbeda.

 Hal ini dimungkinkan asalkan deklarasi method membuat penanda berbeda di satu kelas. Penanda adalah kombinasi nama fungsi/method ditambah daftar parameter. Dengan penanda berbeda, Java mampu membedakan metode mana yang perlu dieksekusi dengan mengenali tipe paremeter-parameter yang dilewatkan.

Berikut Contoh dari Overloading pada java.

class Pertambahan{
public void tambah1(){
int a=5, b=10;
System.out.println("Hasil Pertambahann dari metod tambah1 ke-1 = "+(a+b));
}
//Metod tambah1 di overloading dengan 2 parameter (int x, int y)
public void tambah1(int x, int y){
System.out.println("Hasil Pertambahann dari metod tambah1 ke-2 = "+(x+y));
}
public static void main(String [] args){
Pertambahan pp;
pp = new Pertambahan();
pp.tambah1();//memanggil metod tambah1 ke-1
pp.tambah1(5,5);//memanggil metod tambah1 ke-2
}
}

Dari contoh di atas, method tambah1 pada class Pertambahan dioverloading, sehingga ada perbedaan parameter antara metod tambah1() dengan metod tambah1(int x, int y).
Output program overloading:



Overriding

Overriding artinya menimpa sebuah properti atau method dengan properti atau method yang sama namun dengan implementasi yang berbeda. 
 Overriding sangat terkait dengan pewarisan (inheritance), yaitu kemampuan untuk menurunkan kelas parent kepada sub-class dan menentukan perilaku yang khusus pada sub-class, sub-class dapat juga menerapkan metode kelas parent. 

Berikut contoh dari Overriding pada java dengan nama super calss nya adalah Nama dan sub class nya adalah Siapa.


class Nama{
public void Sapa(){
System.out.println("Achmad Cahya Aditya");
}
public static void main(String [] args){
Siapa ss;
Nama nn;
ss = new Siapa();
nn = new Nama();

ss.Sapa();//memanggil method Sapa() pada class Siapa
nn.Sapa();//memanggil method Sapa() pada class Nama
}
}
class Siapa extends Nama{
//Method Sapa() pada class Nama di override
public void Sapa(){
System.out.println("Yesica Dwi Lestari");
}
}

Pada program di atas terlihat bahwa method Sapa() pada super class(class Nama) di override disub class(class Siapa) . Parameter pada kedua class tersebut sama yaitu tidak mempunyai paramater alias kosong, tetapi perbedaannya adalah implementasinya yaitu mencetak kalimat yang berbeda.
Output program overriding:




Sumber : http://www.top-ilmu.com/2012/12/overloading-dan-overriding-pada-java.html

Tidak ada komentar:

Posting Komentar