Inheritance 

Inheritance (Pewarisan ) dalam  Pemrograman  Berorientasi  Objek (PBO)  dapat dikatakan   suatu   kondisi  dimana  sebuah  objek  memiliki  objek  turunan.  Dengan   konsep  Inheritance  sebuah  class  dapat  memiliki  class turunan. Suatu class yang mempunyai class turunan dinamakan parent class atau base class. Sedangkan class turunan  itu  sendiri seringkali disebut subclass  atau  child class. Suatu subclass dapat mewarisi  apa-apa  yang dipunyai  oleh  parent  class.
Istilah–istilah dalam Inheritance :
a. Extends ,adalah kata kunci agar sebuah class menjadi subclass ( child class ).
b. Superclass ,menunjukkan bahwa sebuah class adalah parent class dari child class.
c. Subclass ,adalah child class / kelas anak yang merupakan turunan dari parent class
d. Keyword super ,untukmemanggil konstuktor dari superclass atau menjadi  variable  yang mengacu pada superclass.

Overloading 
Overloading , adalah kemampuan untuk membuat sebuah method yang sama dalam sebuah class dengan parameter berbeda. Jika jumlah parameter sama maka type harus berbeda , jika jumlah parameter berbeda-beda maka type data boleh sam.
Jenis-jenis Methode Overloading :
1. Jumlah parameter berbeda, type data berbeda
2. Jumlah parameter sama ,type data berbeda
3. Jumlah parameter berbeda , type data sama
Overriding
Override method merupakan method yang sama persis dengan method yang sudah ada di super kelasnya, biasanya perbedaannya adalah pada implementasi (program body). Overidding tidak bisa dilakukan dalam kelas itu sendiri.




Contoh penerapan Overloading dan Overriding dalam sebuah class
// SUPERCLASS
package inhiri;

public class lingkaran {

double jari = 7;
double phi= 3.14;

public void nama() {
System.out.println("Lingakaran");
}

public void nama(String a) {
a = "Lingkaran";
System.out.println(a);
}

public double Luas() {
double luas1 = phi* jari*jari;
return luas1;

}


}

//SUBCLASS


package inhiri;

public class Tabung  extends lingkaran{

private double t=8;


public double Volume() {
double x = super.Luas();
double Volume1 = x*t;
return Volume1;
}

public double  Luas() {
double Luas1= (2*phi*jari*jari)+(2*phi*jari*t);
return Luas1;
}
}


//MAINPROGRAM

package inhiri;

public class main {

public static void main(String[] args) {

// TODO Auto-generated method stub

lingkaran a = new lingkaran();
a.nama();



Tabung T = new Tabung();
System.out.println("Jari-jari : "+T.jari);
System.out.println("Phi :"+T.phi);
System.out.println("Volume Tabung ="+ T.Volume());
System.out.println("Luas Tabung = "+ T.Luas());

}

}










Komentar

Postingan populer dari blog ini

Abstract Class , Concrete Class dan Interface

ITIL