Dalam Java, semua class, termasuk class yang membangun Java API, adalah subclasses dari superclass Object. Contoh hirarki class diperlihatkan di bawah ini. Beberapa class di atas class utama dalam hirarki class dikenal sebagai superclass. Sementara beberapa class di bawah class pokok dalam hirarki class dikenal sebagai subclass dari class tersebut.
Dengan kata lain:
* Super (super class)
Bisa disebut juga dengan induk.
Misalnya class ORTU adalah super class yang mewarisi ke class ANAK
Nah, karena mewarisi berarti ORTU bertindak sebagai super class
* Sub (sub class)
Bisa disebut dengan anak
Misalnya class ANAK diwarisi oleh class ORTU
Artinya anak adalah sub class dari class ORTU (super class)
Pewarisan adalah keuntungan besar dalam pemrograman berbasis object karena suatu sifat atau method didefinisikan dalam superclass, sifat ini secara otomatis diwariskan dari semua subclasses. Jadi, kode method dapat dituliskan hanya sekali dan dapat digunakan oleh semua subclass. Subclass hanya butuh mengimplementasikan perbedaannya sendiri dan induknya.
Misalnya class ORTU mempunyai mempunyai variabel dan method dan diturunkan ke sub classnya (misal: class ANAK). Berarti class ANAK mempunyai semua variabel dan method yang dimiliki oleh class ORTU.
Lalu bagaimana caranya? Caranya adalah dengan menggunakan kata kunci extends. Bentuk umum proses inheritance adalah
class
extends { ;
}
Contoh:
class ANAK extends ORTU {
}
// class anak sebagai subclass yang mendapat warisan dari class ORTU
Contoh lain:
// Lingkaran.java
class Lingkaran {double r;
double Luas() {return Math.PI * this.r * this.r;
}
}
// Silinder.java
class Silinder extends Lingkaran {double h;
double Volume() {
return Math.PI * this.r * this.r * this.h ;}
}
Di dalam Java semua class yang kita buat sebenarnya adalah turunan atau subclass dari class Object. Class Object merupakan class tertinggi dari semua hirarki class dalam Java
Latihan berikut untuk mengenalkan konsep dari inheritance yaitu suatu class dapat mewariskan atibut dan method kepada claas lain (subclass)
berikut kita analisis source code berikut:
Sepeda.java (class tertinggi atau superclass)
class Sepeda{
//mendeklarasikan variabel
int kecepatan = 0;
int gir = 0;//membuat method ubahGir dan parameter pertambahanGir yang bertipe integer
void ubahGir(int pertambahanGir) {gir= gir+ pertambahanGir;
System.out.println(”Gir:” + gir);}
//membuat method tambahKecepatan dan parameter pertambahanKecepatan yang bertipe integer
void tambahKecepatan(int pertambahanKecepatan) {kecepatan = kecepatan+ pertambahanKecepatan;
System.out.println(”Kecepatan:” + kecepatan);}
}
SepedaGunung.java adalah class yang mewarisi class Sepeda.java. dengan keyword extends kita dapat menggunakan method dan atribut yang ada pada class Sepeda.java
SepedaGunung.java
class SepedaGunung extends Sepeda {
//mendeklarasikan atribut
int setSadel;
//membuat method setSadel dan parameter nilaiSadel yang bertipe integer
public void setSadel(int nilaiSadel) {
setSadel = nilaiSadel;
System.out.println(“Tinggi Sadel:”+setSadel);}
}
SepedaGunungBeraksi.java digunakan untuk mengeksekusi atau memanggil method yang ada pada class Sepeda.java dan class SepedaGunung.java
SepedaGunungBeraksi.java
class SepedaGunungBeraksi {
public static void main(String[] args) {
// Membuat object
SepedaGunung sepedaku = new sepedaGunung();// Memanggil method dan memberikan nilai parameter pada masing-masing method diobject
sepedaku.tambahKecepatan(10);
sepedaku.ubahGir(2);
sepedaku.setSadel(20);}
}
dengan cara yang sama, kita akan mengembangkan program java diatas. kita akan membuat class MobilBMW yang merupakan inherit dari class Mobillengkap dengan menambahkan beberapa method nontonTV() yang isinya menampilkan tulisan tv dihidupkan, tv mencari chanel, tv menampilkan gambar. buat class MobilBMWBeraksi yang memanggil method nontonTV(), hidupkanMobil(), matikanMobil(), dan ubahGigi().
jawab:
terlebih dahulu kita buat class Mobillengkap.java yang sebelumnya sudah kita buat di artikel sebelumnya:
class mobilLengkap{ //penulisan class harus sama dengan nama filenya
String warna ;
int tahunProduksi;
//membuat method printMobil
void printMobil(){System.out.println(”warna:”+warna);
System.out.println(”Tahun:”+tahunProduksi);}
//membuat method hidupkanMobil
void hidupkanMobil(){
System.out.println(”mobil sudah hidup”);
}
//membuat method matikanMobil
void matikanMobil(){
System.out.println(”mobil sudah mati”);
}
//membuat method jalankanMobil
void jalankanMobil(){
System.out.println(”mobil sudah berjalan”);
}
}
selanjutnya kita buat class MobilBMW.java yang mengextends atau mewarisi class MobilLengkap.java yang ditambahi dengan method nontonTV().
MobilBMW.java
class MobilBMW extends MobilLengkap{ /*perintah extends digunakan untuk mewarisi atribut dan method yang ada pada class mobilLengkap*/
//membuat method nontonTV()
public void nontonTV(){
System.out.println(”TV dihidupkan”);
System.out.println(”TV mencari Chanel”);
System.out.println(”TV menampilkan gambar”);}
}
selanjutnya kita buat file MobilBMWBeraksi.java untuk memanggil method nontonTV(), hidupkanMobil(), matikanMobil(), dan ubahGir().
MobilBMWBeraksi.java
public class MobilBMWBeraksi{
public static void main(String[] args){
//membuat object
MobilBMW mobilku= new MobilBMW();//memanggil method
mobilku.nontonTV();
mobilku.hidupkanMobil();
mobilku.matikanMobil();
mobilku.ubahGigi();}
}
share...
ReplyDeletehttp://aguezstwbelajar.blogspot.com/