Thursday, May 1, 2014

Inheritance atau Pewarisan Sifat Pada Java

     Konsep inheritance atau pewarisan ini mengadopsi dunia nyata dimana sebuah objek dapat mewariskan sifat pada turunannya. Dalam kehidupan manusia pasti memiliki karakter yang hampir sama dengan orang tua. Selain bentuk fisik yang memiliki keseragaman yang hampir sama, tentunya juga memiliki beberapa karakter/sifat yang hampir sama dengan kedua orang tua.

      Misalnya ayah nobita adalah orang penyabar, sedangkan nobita juga penyabar, tapi dibalik semua itu, nobita juga mempunyai sifat lain yang tidak dimiliki oleh ayahnya, yaitu pemalas. Itulah kenapa setiap turunan dikatakan ‘hampir‘ sama dengan induknya.

Inheritance (pewarisan) adalah proses pewarisan data dan method satu kelas induk kepada kelas turnannya.
Komponen class pada pewarisan yaitu:
  • Super Class: kelas induk atau kelas yang mewariskan
  • SubClass: anak kelas atau kelas yang mendapat warisan


Inheritance Pada Java !
        Di dalam bahasa pemrograman java, untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara menambahkankata kunci extends setelah deklarasi nama classnya, kemudian diikuti dengan nama parent class-nya atau super classnya. Kata kunci extends tersebut memberitahu kompiler java bahwa kita ingin melakukan perluasan class.

Cara penulisan subclassnya adalah sebagai berikut:


Contoh kasus:
          Terdapat beberapa software di komputer. Software tersebut beraneka ragam: software game, software edukasi, dan lain-lain. Biarpun berbeda jenisnya, software tersebut pasti memiliki kesamaan dengan software sejenisnya. Dengan kata lain, apabila dilihat dari segi pemrograman, maka class Software adalah superclass, sedangkan class Game adalah subclassnya. Jadi penulisan code java-nya adalah sebagai berikut:



Manfaat Inheritance !
Berikut in adalah beberapa manfaat apabila menggunakan konsep inheritance:

1. Bersifat reusable

           Pada class yang memiliki sifat mirip denga class lain, tidak perlu membuat variabel dan method yang sama dalam penerapannya. Sehingga hanya perlu membuat satu class sebagai induk, dan beberapa class sebagai anak yang mewarisi method dan data dari class induk. Ketika membutuhkan data dan method tambahan pada class anak, hanya perlu menambahkan data tambahan tersebut, tanpa perlu mendeklarasikan data dan method yang sudah dimiliki oleh induk class.


2. Efisiensi dalam manajemen data dan method

         Ketika membutuhkan perubahan pada data dan method pada induk class, tidak perlu mengubah semua class anak, sehingga hanya perlu melakukan perubahan pada class induknya saja.

Keyword “super“  !

Keyword super digunakan oleh subclass untuk memanggil constructor atau method yang ada pada superclassnya. Berikut cara penulisan keyword super pada subclass untuk memanggil constructor pada superclass.
Sedangkan cara penulisan “super“ pada subclass untuk memanggil method
pada superclass adalah sebagai berikut:
 
Kontrol akses !

       Suatu parent class dapat tidak mewariskan sebagian data dan methodnya kepada subclassnya. Sejauh mana suatu data dan method tersebut dapat diwariskan ke kelas lain sangat berhubungan dengan access control. Gambaran akses kontrol digambarkan pada tabel berikut:

No comments:

Post a Comment