Inheritance (Turunan)
PENDAHULUAN pewarisan pada pemrograman berorientasi objek merupakan suatu hubungan dua buah kelas atau lebih. Dalam hal ini ada kelas yang memiliki atribut dan metode yang sama dengan kelas lainnya beserta atribut dan metode tambahan yang merupakan sifat khusus kelas yang menjadi turunannya
Inheritance (Pewarisan) merupakan salah satu dari tiga konsep dasar OOP. Konsep inheritance ini mengadopsidunia riil dimana suatu entitas/obyek Dapat mempunyai entitas/obyek turunan.Dengan konsep inheritance, sebuahclass dapat mempunyai class turunan.
Pengertian Inheritance Proses pewarisan data dan method dari suatu kelas kepada kelas yang lain atau Class yg mewariskan Superclass ke Subclass Contoh : public class mobil extends Kendaraan Bermotor
Keyword Super Suatu fungsi untuk memanggil konstrutor dan method oleh subclass yang dimiliki oleh superclass super(parameter)
Jenis-jenis Inheritance Single Inheritance (Pewarisan Tunggal) Multiple Inheritance (Pewarisan Jamak) Virtual Multiple Inheritance (Pewarisan Jamak Maya)
Single Inheritance (Pewarisan Tunggal) Adalah pewarisan yang jumlah kelas dasarnya (basic class / superclass) tunggal, tapi kelas turunan (subclass) bisa lebih dari satu.
Multiple Inheritance (PewarisanJamak) Kelas yang diturunkan lebih dari satu kelas yang berbeda (jumlah kelas dasarnya lebih dari satu)
Virtual Multiple Inheritance Kelas yang diturunkan lebih dari satu kelas yang berbeda (jumlah kelas dasarnya lebih darisatu). Hanya saja, beberapa diantara kelas dasar tersebut merupakan kelas turunan dari kelas dasar yang sama
Hal yg perlu dipertimbangkan saat mewariskan method Jika method di superclass PUBLIC maka semua subclass bersifat PUBLIC. Jika method di superclass PROTECTED maka bisa menjadi PROTECTED atau PUBLIC untuk semua subclass. Jika method di superclass DEFAULT maka pada subclass bisa menjadi PRIVATE. Jika method di superclass PRIVATE, maka tidak bisa diwariskan.
Keuntungan dari inheritance Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan superclass, hal ini akan memungkinkan programmer untuk menggunakan ulang source code dari superclass yang telah ada. Programmer dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum.
Istilah dalam inheritance yang perlu diperhatikan Extends : Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass. Superclass : Superclass digunakan untuk menunjukkan hirarki class yang berarti class dasar dari subclass/class anak. Subclass : Subclass adalah class anak atau turunan secara hirarki dari superclass
Super : Keyword ini digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass. Ada beberapa hal yang harus diingat ketika menggunakan pemanggil constuktor super: