Sabtu, 19 Mei 2012

Java " Inheritance "

Pengertian Dasar Inheritance

Inheritance atau pewarisan pada pemrograman berorientasi objek merupakan suatu hubungan dua buah class atau lebih.Dalam hal ini ada class yang memiliki atribut dan method yang sama dengan class lainnya yang menjadi turunannya.
Jadi jika attribut pada suatu classs udah ada, maka attribut tersebut tidak perlu dibuat kembali pada class yang menjadi turunannya, sehingga cukup utuk memanggil class induk nya tersebut.

Rangkuman :
1.      Inheritence (Pewarisan) merupakan salah satu dari tiga konsep dasar OOP.
2.              Dengan konsep inheritance, sebuah class dapat mempunyai class turunan.
3.      Suatu class yang mempunyai class turunan dinamakan parent class atau baseclass.
4.      Sedangkan class turunan itu sendiri seringkali disebut subclass atau childclass.
5.              Suatusubclass dapat mewarisi apa-apa yang dipunyai oleh parent class.
6.      Kesimpulannya, boleh dikatakan bahwa suatu subclass adalah tidak lain hanya memperluas (extend) parent class-nya

Single Inheritance
Konsep Inheritance yang adadi Java pada dasarnya hanya memperkenankan adanya single inheritance.Dimana konsep single inheritance hanya memperbolehkan suatu sublass mempunyai satu parent class.

Multi Level Inheritance
Multi Level Inheritence diambil dari logika pewarisan berturut-turut.Sehingga sebuah class bisa mewariskan atribut dan method-nyake class turunannya, dan class turunannya bisa menurunkan attribut dan metdhodnya ke class turunannya juga.


KontrolPengaksesan

Ada 4 jenis control pengaksesan class pada java.

1.      Public
2.      Protected
3.      Default
4.      Private



KeuntunganPewarisan

1. Bersifat reusable
Tidak harus menyalin semua attribut dan method dari suatu class jika akan memakainya lagi.

2. Kemudahan dalam me-manage class yang memiliki data dan method yang sama
Untuk memodifikasi suatu attribut atau method untuk semua subclass / class anak, maka tidak perlu melakukan perubahan di masing-masing class anak melainkan hanya pada class induk saja.

ContohProgram

SingleInheritence
packageinheritence;
importjava.util.Scanner;
classManusia
{
voidgetManusia(String nama,Stringjk){
System.out.println("Nama : "+nama);
System.out.println("Kelamin : "+jk);
    }
}
classPegawai extends Manusia
{
voidgetPegawai(String jabatan, intgaji){
System.out.println("Jabatan : "+jabatan);
System.out.println("Gaji : $"+gaji+" USD");
    }
}
public class Main{
public static void main(String[] args) {
Pegawai x = new Pegawai();
x.getManusia("Fahmi", "Laki-laki");
x.getPegawai("Teknisian", 150);
    }
}

Multi LevelInheritance

packageinheritence;
importjava.util.Scanner;

classManusia
{
voidgetManusia(String nama,Stringjk){
System.out.println("Nama : "+nama);
System.out.println("Kelamin : "+jk);
    }
}
classPegawai extends Manusia
{
voidgetPegawai(String jabatan, intgaji){
System.out.println("Jabatan : "+jabatan);
System.out.println("Gaji : $"+gaji+" USD");
    }
}

classManajer extends Pegawai
{
voidgetManajer(String departemen){
System.out.println("Departemen : "+departemen);
    }
}

public class Main{
public static void main(String[] args) {
        /* Manajer x = new Manajer();
         * x.getManusia("Azar", "Laki-laki");
         * x.getPegawai("Manajer", 500);
         * x.getManajer("IT");
         */
        Scanner in = new Scanner(System.in);
System.out.print("Nama : ");
        String nama = in.nextLine();
System.out.print("JenisKelamin : ");
        String jk = in.nextLine();
System.out.print("Jabatan : ");
        String jabatan = in.nextLine();
System.out.print("Departemen : ");
        String departemen = in.nextLine();
System.out.print("Gaji : ");
intgaji = in.nextInt();
System.out.println("------HASIL------");
Manajer x = new Manajer();
x.getManusia(nama,jk);
x.getPegawai(jabatan, gaji);
x.getManajer(departemen);
    }
}

Referensi :

Tidak ada komentar:

Posting Komentar