Dragonica Emoticon Sparkly Eye
3 Des 2011

OVERLOADING

Overloading adalah suatu keadaan di mana beberapa method memiliki nama yang sama tetapi fungsionalitasnya berbeda.

Perbedaan Overloading dan Overriding..;




Overloading Constructor

Suatu kelas boleh memiliki lebih dari satu konstruktor.Konstruktor yang terdiri dari lebih dari satu konstruktor disebut overloading konstruktor.
Contoh :

class Bentuk3D{
double panjang,lebar,tinggi;
//konstruktor pertama
Bentuk3D(double pj){
this.panjang=pj;
this.lebar=1;
this.tinggi=1;
}
//konstruktor kedua
Bentuk3D(double pj,double lb){
this.panjang=pj;
this.lebar=lb;
this.tinggi=1;
}
//konstruktor ketiga
Bentuk3D(double pj,double lb,double tg){
this.panjang=pj;
this.lebar=lb;this.tinggi=tg;
}
}

class ContohBentuk3D{
public static void main(String args[]){
System.out.println("instansiasi pertama => panggil konstruktor pertama\n");
Bentuk3D bentuk=new Bentuk3D(3.5);
System.out.println("Panjang = "+bentuk.panjang);
System.out.println("Lebar = "+bentuk.lebar);
System.out.println("Tinggi = "+bentuk.tinggi);
System.out.println("\ninstansiasi kedua =>panggil konstruktor kedua");
Bentuk3D bentuk2=new Bentuk3D(7.2,2.3);
System.out.println("Panjang = "+bentuk2.panjang);
System.out.println("Lebar = "+bentuk2.lebar);
System.out.println("Tinggi = "+bentuk2.tinggi);
System.out.println("\ninstansiasi ketiga =>panggil konstruktor ketiga");
Bentuk3D bentuk3=new Bentuk3D(5.2,3.5,2.1);
System.out.println("Panjang = "+bentuk3.panjang);
System.out.println("Lebar = "+bentuk3.lebar);
System.out.println("Tinggi = "+bentuk3.tinggi);
}
}

Jika dicompile dan dirun, hasilnya seperti ini :
F:\data samson\modul\modultutorialjava\over>javac ContohBentuk3D.java
F:\data samson\modul\modultutorialjava\over>java ContohBentuk3D
instansiasi pertama => panggil konstruktor pertama
Panjang = 3.5
Lebar = 1.0
Tinggi = 1.0
instansiasi kedua =>panggil konstruktor kedua
Panjang = 7.2
Lebar = 2.3
Tinggi = 1.0

instansiasi ketiga =>panggil konstruktor ketiga
Panjang = 5.2
Lebar = 3.5
Tinggi = 2.1


Overloading Method (Procedure || Function) 

Overloading juga bisa terjadi pada method, baik itu berupa procedure maupun function.
Contoh :
class mobil{
private String merek;
mobil(String m){
this.merek=m;
System.out.println(this.merek+" adalah kendaraan beroda 4");
}
//procedure bergerak
void bergerak(String arah){
System.out.println("melaju ke arah "+arah);
}
//overload procedure bergerak
void bergerak(String arah,int jauh){
System.out.println("melaju ke arah "+arah+" sejauh "+jauh+" km ");
}
}
class kijang{
public static void main(String args[]){
mobil kijang=new mobil("Kijang");
kijang.bergerak("maju");
kijang.bergerak("mundur",3);
}
}




Jika dikompilasi dan dirun hasilnya akan seperti ini :
F:\data samson\modul\modultutorialjava\over>javac kijang.java
F:\data samson\modul\modultutorialjava\over>java kijang
Kijang adalah kendaraan beroda 4
melaju ke arah maju
melaju ke arah mundur sejauh 3 km 

0 komentar:

Posting Komentar

 
;