Di dalam Java untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.
Semua class dalam Java, termasuk class yang membangun Java API, merupakan subclass dari superclass Object.
Contoh dari hierarki class :
- Superclass adalah class induk atau class orang tua, class yang letaknya di atas class tertentu di dalam hierarki.
- Subclass adalah class anak. Semua property, methode, ataupun konstruktor yang dimiliki oleh superclass jika diwariskan, maka subclass memiliki semua yang dimiliki oleh superclass.
Contoh Program Inheritance Dalam java
1. kelas BangunDatar.java
class BangunDatar {
public void HitungLuas(){
System.out.println("Belum terdefinisi/belum jelas luas apa yang dihitung");
}
public void HitungKeliling(){
System.out.println("Belum terdefinisi/belum jelas keliling apa yang dihitung");
}
}
2. Subkelas SegiTiga.java dari kelas BangunDatar.java
class SegiTiga extends BangunDatar {
//variabel instan
protected double panjang=6;
protected double lebar=5;
private double miring=7;
@Override
public void HitungLuas(){
double luas; //deklarasi variabel lokal
luas=this.panjang*this.lebar/2;
//mencetak luas segitiga
System.out.println("Panjang : "+this.panjang+ " cm");
System.out.println("Lebar : "+this.lebar+ " cm");
System.out.println("Luas Segitiga adalah "+luas+" cm kuadrat");
}
@Override
public void HitungKeliling(){
double keliling; //deklarasi variabel lokal
keliling=this.panjang+this.lebar+this.miring;
//mencetak keliling segitiga
System.out.println("Panjang : "+this.panjang+ " cm");
System.out.println("Lebar : "+this.lebar+ " cm");
System.out.println("Miring : "+this.miring+ " cm");
System.out.println("Keliling Segitiga adalah "+keliling+ " cm");
}
}
3. Subkelas PersegiPanjang.java dari kelas SegiTiga.java untuk menentukan akses protected
class PersegiPanjang extends SegiTiga {
@Override
public void HitungLuas(){
double luas; //deklarasi variabel lokal
luas=this.panjang*this.lebar;
//mencetak luas PersegiPanang
System.out.println("Panjang : "+this.panjang+ " cm");
System.out.println("Lebar : "+this.lebar+ " cm");
System.out.println("Luas Persegi panjang adalah "+luas+" cm kuadrat");
}
@Override
public void HitungKeliling(){
double keliling; //deklarasi variabel lokal
//mencetak keliling PersegiPanjang
keliling=(2*this.panjang)+(2*this.lebar);
System.out.println("Panjang : "+this.panjang+ " cm");
System.out.println("Lebar : "+this.lebar+ " cm");
System.out.println("Keliling Persegi Panjang adalah "+keliling+" cm");
}
}
4. Program Utama /main HasilBangunDatar.java
class HasilBangunDatar {
public static void main(String[] args) {
//membuat objek dari kelas BangunDatar
BangunDatar bd=new BangunDatar();
//membuat objek bd melakukan sesuatu
bd.HitungLuas();
bd.HitungKeliling();
System.out.println("");
//membuat objek dari kelas SegiTiga
SegiTiga st=new SegiTiga();
//membuat objek st melakukan sesuatu
st.HitungLuas();
System.out.println("");
st.HitungKeliling();
System.out.println("");
//membuat objek dari kelas Persegi Panjang
PersegiPanjang pp=new PersegiPanjang();
//membuat objek pp melakukan sesuatu
pp.HitungLuas();
System.out.println("");
pp.HitungKeliling();
}
}
5. Hasil Akhir Program
Belum terdefinisi/belum jelas luas apa yang dihitung
Belum terdefinisi/belum jelas keliling apa yang dihitung
Panjang : 6.0 cm
Lebar : 5.0 cm
Luas Segitiga adalah 15.0 cm kuadrat
Panjang : 6.0 cm
Lebar : 5.0 cm
Miring : 7.0 cm
Keliling Segitiga adalah 18.0 cm
Panjang : 6.0 cm
Lebar : 5.0 cm
Luas Persegi panjang adalah 30.0 cm kuadrat
Panjang : 6.0 cm
Lebar : 5.0 cm
Keliling Persegi Panjang adalah 22.0 cm
class BangunDatar {
public void HitungLuas(){
System.out.println("Belum terdefinisi/belum jelas luas apa yang dihitung");
}
public void HitungKeliling(){
System.out.println("Belum terdefinisi/belum jelas keliling apa yang dihitung");
}
}
2. Subkelas SegiTiga.java dari kelas BangunDatar.java
class SegiTiga extends BangunDatar {
//variabel instan
protected double panjang=6;
protected double lebar=5;
private double miring=7;
@Override
public void HitungLuas(){
double luas; //deklarasi variabel lokal
luas=this.panjang*this.lebar/2;
//mencetak luas segitiga
System.out.println("Panjang : "+this.panjang+ " cm");
System.out.println("Lebar : "+this.lebar+ " cm");
System.out.println("Luas Segitiga adalah "+luas+" cm kuadrat");
}
@Override
public void HitungKeliling(){
double keliling; //deklarasi variabel lokal
keliling=this.panjang+this.lebar+this.miring;
//mencetak keliling segitiga
System.out.println("Panjang : "+this.panjang+ " cm");
System.out.println("Lebar : "+this.lebar+ " cm");
System.out.println("Miring : "+this.miring+ " cm");
System.out.println("Keliling Segitiga adalah "+keliling+ " cm");
}
}
3. Subkelas PersegiPanjang.java dari kelas SegiTiga.java untuk menentukan akses protected
class PersegiPanjang extends SegiTiga {
@Override
public void HitungLuas(){
double luas; //deklarasi variabel lokal
luas=this.panjang*this.lebar;
//mencetak luas PersegiPanang
System.out.println("Panjang : "+this.panjang+ " cm");
System.out.println("Lebar : "+this.lebar+ " cm");
System.out.println("Luas Persegi panjang adalah "+luas+" cm kuadrat");
}
@Override
public void HitungKeliling(){
double keliling; //deklarasi variabel lokal
//mencetak keliling PersegiPanjang
keliling=(2*this.panjang)+(2*this.lebar);
System.out.println("Panjang : "+this.panjang+ " cm");
System.out.println("Lebar : "+this.lebar+ " cm");
System.out.println("Keliling Persegi Panjang adalah "+keliling+" cm");
}
}
4. Program Utama /main HasilBangunDatar.java
class HasilBangunDatar {
public static void main(String[] args) {
//membuat objek dari kelas BangunDatar
BangunDatar bd=new BangunDatar();
//membuat objek bd melakukan sesuatu
bd.HitungLuas();
bd.HitungKeliling();
System.out.println("");
//membuat objek dari kelas SegiTiga
SegiTiga st=new SegiTiga();
//membuat objek st melakukan sesuatu
st.HitungLuas();
System.out.println("");
st.HitungKeliling();
System.out.println("");
//membuat objek dari kelas Persegi Panjang
PersegiPanjang pp=new PersegiPanjang();
//membuat objek pp melakukan sesuatu
pp.HitungLuas();
System.out.println("");
pp.HitungKeliling();
}
}
5. Hasil Akhir Program
Belum terdefinisi/belum jelas luas apa yang dihitung
Belum terdefinisi/belum jelas keliling apa yang dihitung
Panjang : 6.0 cm
Lebar : 5.0 cm
Luas Segitiga adalah 15.0 cm kuadrat
Panjang : 6.0 cm
Lebar : 5.0 cm
Miring : 7.0 cm
Keliling Segitiga adalah 18.0 cm
Panjang : 6.0 cm
Lebar : 5.0 cm
Luas Persegi panjang adalah 30.0 cm kuadrat
Panjang : 6.0 cm
Lebar : 5.0 cm
Keliling Persegi Panjang adalah 22.0 cm
Sumber :
Sipp. :)
BalasHapusContoh Program Java Inheritance
yg di maksud 1 ,2 ,3 tehh itu teh buat class baru apa taro dalam 1 class aja
BalasHapus