19 Februari 2012

Pemrograman Berorientasi Obyek: Pewarisan

Obyek yang berbeda seringkali memiliki ciri dan perilaku yang serupa satu sama lain. Sebagai contoh, kuda, kera, dan harimau semuanya memiliki perilaku dan ciri sebagai mamalia (menyusui anaknya dan melahirkan). Namun begitu, semuanya juga memiliki karakter lain yang membedakan satu dengan lainnya: harimau memiliki kumis; kera hidup di pohon; kuda kukunya tumpul.

Pada pemrograman berorientasi obyek, class memiliki kemampuan untuk mewarisi kemampuan dari class lain. Seperti pada contoh di atas, class Mamalia menjadi superclass dari class Kuda, Kera dan Harimau. Pada bahasa pemrograman Java, setiap class bisa memiliki satu superclass, dan setiap superclass bisa memiliki subclass yang tidak terbatas.

Gambar hirarki class class Mamalia

Sintaks untuk membuat subclass sangat sederhana. Setelah menulis nama class, tambahkan kata extends kemudian diikuti dengan class yang ingin diwarisi atau superclass:

 class Harimau extends Mamalia {
   // definisi atribut dan metode baru
   // bisa ditambahkan di sini
}
Dengan kode di atas, class Harimau memiliki semua atribut dan metode dari class Mamalia, dan bisa menambahkan metode atau atribut yang membuat class Harimau berbeda dengan class lainnya. Tapi perlu diperhatikan, kita harus mendokumentasikan atribut dan metode yang didefinisikan superclass, karena kode superclass tidak akan terlihat lagi di subclass.

Berikut ini adalah contoh program penerapan pewarisan dengan bahasa java.

class Mamalia {
 public void berkembangBiak() {
  System.out.println("Beranak");
 }
 
 public void merawatAnak() {
  System.out.println("Menyusui");
 }
}

class Kelelawar extends Mamalia {
 public void terbang() {
  System.out.println("Bisa terbang");
 }
}

class UjiPewarisan {
 public static void main(String[] args) {
  Kelelawar kalong = new Kelelawar();
  kalong.berkembangBiak();
  kalong.merawatAnak();
  kalong.terbang();
 }
}
Output yang dihasilkan adalah:
Beranak
Menyusui
Bisa terbang


Tidak ada komentar:

Posting Komentar