Senin, 07 Oktober 2019

Inheritance in Java

Inheritance

Assalamualaikum Wr. Wb. Semangat pagii!!! Ini merupakan postingan pertama saya,. Kali ini saya akan belajar tentang inheritance.

   Sebelum saya menjelaskan inheritance itu apa, saya ingin bertanya dulu kepada sobat-sobat sekalian, apa itu inheritance??? Pasti ada yang belum tau kan dan bertanya-tanya. Kalo begitu ayo kita cari tau yuk!!!
   Inheritance (pewarisan/penurunan) adalah konsep pemrograman diman sebuah class dapat 'menurunkan' property dan method yang dimilikinya kepada class lain. Konsep ini digunakan untuk memanfaatkan fitur 'code reuse' untuk menghindari duplikasi kode program.
Konsep inheritance membuat sebuah struktur atau 'hierarchy' class dalam kode program. Class yang akan 'diturunkan' bisa disebut sebagai class induk (parent class), super class, atau base class. Sedangkan class yang 'menerima penurunan' bisa disebut sebagai class anak (child class), sub class, derived class atau heir class.

   Setelah kita mengetahui inhertance, saya akan memberikan contoh konsep inhertance kepada sobat-sobat sekalian.
   Deklarasi yang digunakan adalah dengan 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.
public class B extends A {...}
   Pada saat dikompilasi, Kompiler Java akan membacanya sebagai subclass dari class Object.
public class A extends Object {...}
   Jadi, contoh di atas memberitahukan kompiler Java bahwa kita ingin meng-extend class A ke class B. Dengan kata lain, class B adalah sub class (class turunan) dari class A, sedangkan A adalah parent class dari class B.

   Java hanya memperkenankan adanya single inheritance. Konsep single inheritance hanya memperbolehkan suatu sublass mempunyai satu parent class. Dengan konsep single inheritance ini, masalah pewarisan akan dapat diamati dengan mudah.


Jadi penjelasannya pada saat class mamalia menurunkan atau memperluas (extend) class hewan, maka ia mewarisi data member yang dipunyai oleh class hewan. Dengan demikian, class mamalia mempunyai data member yang diwarisi oleh hewan (namahewan, habitat), ditambah dengan data member yang ia punyai (keterangan).
   Sekarang kita saya akan memberi contoh perbedaan cara mengakses class milik parents dan class milik sendiri. Pengaksesan member yang ada di parent class dari subclass-nya tidak jauh berbeda dengan pengaksesan member subclass itu sendiri. Contoh:


Contohnya class Kendaraan memiliki class anak yaitu Bermotor, dan class Bermotor memiliki class anak lagi yaitu Mobil dan Pesawat.  Berikut adalah contoh gambarankonsep single inheritance dan multi level inheritance.



Seperti yang kita tahu bahwasanaya Java hanya memperkenankan adanya single inheritance. Konsep single inheritance hanya memperbolehkan suatu subclass mempunyai satu parent class, Namun Java mengijinkan suatu sub class untuk memiliki anak lagi. Hal ini disebut dengan konsep multi level inheritance.




2 komentar: