Halo sobat koding, balik lagi dalam pembahasaan OOP. Sebelum memulai pembahasan kita ada alangkah baiknya jika anda sudah membaca pembahasan- pambahasan sebelumnya :
Kali ini gw akan bahas Inheritance. Apa itu Inheritance ? Bagaimana cara kerjanya ?
Inheritance sendiri artinya pewarisan. Pewarisan disini maksudnya mewariskan Property dan Method dari Parent Class ke Child Class.
Parent Class adalah Class utama, sedangkan Child Class adalah anak dari Class utama.
Dari hirarki diatas dapat dilihat bahwa, semakin kebawah, class akan semakin bersifat spesifik. Pada Class Animal terdapat class kategori hewan yaitu Herbivore, Carnivore, dan Omnivore. Setiap kategori hewan tersebut ada class turunannya yang dimana adalah class nama hewan. Class Herbivore menurunkan ke class Rabbit. Class Carnivore menurunkan ke class Lion dan class Hyena. Class Omnivore menurunkan ke class Man.
Penggunaan Inheritance yaitu dengan cara menambahkan kata kunci `extends` setelah deklarasi nama Class, dan diikuti dengan nama Parent Class. Konsep Inherintance memungkinkan untuk bisa me-reuse Property dan Method dari Parent Class, sehingga tidak dibuat lagi di Child Class. Berikut contohnya :
Gw sudah bikin Child Class yang diberi nama SubMobilItem yang gw extends dari MobilItem Class. MobilItem Class sudah gw jelasin di postingan OOP Encapsulation. Gw sudah tambah Property dan Getter Setter Method di Child Class yaitu untuk nama mobil. Nah untuk menjalankan Class-nya seperti berikut:
Inheritance memungkinkan untuk menggunakan method yang berada di MobilItem Class yang dimana sebagai Parent Class. Property yang kita buat di MobilItem sudah diwariskan ke SubMobilItem.
Adapun yang harus diingat dalam konsep Inherintance adalah jangan melupakan Access Modifier.
Kita dapat memanggil Property dan Method yang berada di Parent Class yang hanya memiliki akses Protected atau Public saja. Oleh sebab itu kita dapat menggunakan Getter Setter Method yang dimiliki oleh Parent Class.
Oke sudah gw jelasin pengertian Inheritance dan penggunaannya seperti apa. Mudah-mudahan penjelasan gw dapat dimengerti dengan mudah. Thank you.
See you on the Next Chapter…