Inheritance atau pewarisan. Pewarisan dalam pemrograman berorientasi objek, Inheritance memungkinkan suatu Class bisa mewariskan atribut dan Method kepada Class yang lainnya atau subClass, sehingga membentuk Class hirarki. Inheritance sangat mirip dengan hubungan orang tua dengan anak. Manakala suatu kelas menerima warisan dari semua anggota data dan fungsi menerima warisan, walaupun tidak semua di antara mereka dapat diakses oleh anggota fungsi dari kelas. 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.
Contoh dari hierarki class :

class Kendaraan {
String x="Alat Transpotasi";
void TampilkanFungsiKendaraan() {
System.out.println("Fungsi kendaraan : " + x);
}
}
class KendaraanDarat extends Kendaraan {
String darat="Berada di darat";
void TampilkanFungsiKendaraanDarat() {
System.out.println("Fungsi kendaraan darat :" + (x+darat));
}
}
class KendaraanLaut extends Kendaraan {
String laut="Berada di Laut";
void TampilkanFungsiKendaraanLaut() {
System.out.println("Fungsi kendaraan laut :" + (x+laut));
}
}
class KendaraanUdara extends Kendaraan {
String udara="Berada di Udara";
void TampilkanFungsiKendaraanUdara() {
System.out.println("Fungsi kendaraan udara:" + (x+udara));
}
}
class bus extends KendaraanDarat {
String varbus="kendaraan umum beroda empat";
void TampilkanFungsibus() {
System.out.println("Fungsi bus :" + (x+darat+varbus));
}
}
class sepeda extends KendaraanDarat {
String varsepeda="kendaraan roda dua";
void TampilkanFungsisepeda() {
System.out.println("Fungsi sepeda :" + (x+darat+varsepeda));
}
}
class dokar extends KendaraanDarat {
String vardokar="menggunakan kuda";
Copyright © 2010 www.jurnalkomputer.com
2
void TampilkanFungsidokar() {
System.out.println("Fungsi dokar :" + (x+darat+vardokar));
}
}
class perahu extends KendaraanLaut {
String varperahu="untuk mencari ikan";
void TampilkanFungsiperahu() {
System.out.println("Fungsi perahu :" + (x+laut+varperahu));
}
}
class pesawat extends KendaraanUdara {
String varpesawat="kendaraan umum atau alat tempur udara ";
void TampilkanFungsipesawat() {
System.out.println("Fungsi pesawat :" + (x+udara+varpesawat));
}
}
class Inheritance {
public static void main(String[] args) {
Kendaraan superx = new Kendaraan();
KendaraanDarat subxa = new KendaraanDarat();
KendaraanLaut subxb = new KendaraanLaut();
KendaraanUdara subxc = new KendaraanUdara();
bus subdarata = new bus();
sepeda subdaratb = new sepeda();
dokar subdaratc = new dokar();
perahu sublaut = new perahu();
pesawat subudara = new pesawat();
System.out.println("SuperClass");
superx.TampilkanFungsiKendaraan();
System.out.println("SubClass Kendaraan");
subxa.TampilkanFungsiKendaraanDarat();
subxb.TampilkanFungsiKendaraanLaut();
subxc.TampilkanFungsiKendaraanUdara();
System.out.println("SubClass Kendaraan Darat");
subdarata.TampilkanFungsibus();
subdaratb.TampilkanFungsisepeda();
subdaratc.TampilkanFungsidokar();
System.out.println("SubClass Kendaraan Laut");
sublaut.TampilkanFungsiperahu();
System.out.println("SubClass Kendaraan Udara");
subudara.TampilkanFungsipesawat();
}
}
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.
class Kendaraan {
String x="Alat Transpotasi";
void TampilkanFungsiKendaraan() {
System.out.println("Fungsi kendaraan : " + x);
}
}
class KendaraanDarat extends Kendaraan {
String darat="Berada di darat";
void TampilkanFungsiKendaraanDarat() {
System.out.println("Fungsi kendaraan darat :" + (x+darat));
}
}
class KendaraanLaut extends Kendaraan {
String laut="Berada di Laut";
void TampilkanFungsiKendaraanLaut() {
System.out.println("Fungsi kendaraan laut :" + (x+laut));
}
}
class KendaraanUdara extends Kendaraan {
String udara="Berada di Udara";
void TampilkanFungsiKendaraanUdara() {
System.out.println("Fungsi kendaraan udara:" + (x+udara));
}
}
class bus extends KendaraanDarat {
String varbus="kendaraan umum beroda empat";
void TampilkanFungsibus() {
System.out.println("Fungsi bus :" + (x+darat+varbus));
}
}
class sepeda extends KendaraanDarat {
String varsepeda="kendaraan roda dua";
void TampilkanFungsisepeda() {
System.out.println("Fungsi sepeda :" + (x+darat+varsepeda));
}
}
class dokar extends KendaraanDarat {
String vardokar="menggunakan kuda";
Copyright © 2010 www.jurnalkomputer.com
2
void TampilkanFungsidokar() {
System.out.println("Fungsi dokar :" + (x+darat+vardokar));
}
}
class perahu extends KendaraanLaut {
String varperahu="untuk mencari ikan";
void TampilkanFungsiperahu() {
System.out.println("Fungsi perahu :" + (x+laut+varperahu));
}
}
class pesawat extends KendaraanUdara {
String varpesawat="kendaraan umum atau alat tempur udara ";
void TampilkanFungsipesawat() {
System.out.println("Fungsi pesawat :" + (x+udara+varpesawat));
}
}
class Inheritance {
public static void main(String[] args) {
Kendaraan superx = new Kendaraan();
KendaraanDarat subxa = new KendaraanDarat();
KendaraanLaut subxb = new KendaraanLaut();
KendaraanUdara subxc = new KendaraanUdara();
bus subdarata = new bus();
sepeda subdaratb = new sepeda();
dokar subdaratc = new dokar();
perahu sublaut = new perahu();
pesawat subudara = new pesawat();
System.out.println("SuperClass");
superx.TampilkanFungsiKendaraan();
System.out.println("SubClass Kendaraan");
subxa.TampilkanFungsiKendaraanDarat();
subxb.TampilkanFungsiKendaraanLaut();
subxc.TampilkanFungsiKendaraanUdara();
System.out.println("SubClass Kendaraan Darat");
subdarata.TampilkanFungsibus();
subdaratb.TampilkanFungsisepeda();
subdaratc.TampilkanFungsidokar();
System.out.println("SubClass Kendaraan Laut");
sublaut.TampilkanFungsiperahu();
System.out.println("SubClass Kendaraan Udara");
subudara.TampilkanFungsipesawat();
}
}
Tidak ada komentar:
Posting Komentar