Inherintace adalah salah
satu konsep utama dalam Pemrograman Berorientasi Objek yang memiliki konsep
pewarisan dimana entitas/objek bisa memiliki turunan. Konsep inheritance
diterapkan pada saat suatu class memerlukan perluasan dari class yang lainnya. Konsep inheritance dikatakan
bahwa suatu subclass hanya untuk memperluas (extend) super class/parent class.
Inheritance terbagi menjadi
2 yaitu :
a. Superclass/Parent Class adalah
Induk class.
b. Subclass adalah Class cadangan yang terdiri dari bagian2
dari class induk.
DEKLARASI INHERITANCE
Untuk melakukan inheritance
dengan mendeklarasikannya dengan cara menambahkan kata kunci extends.
contoh :
Maksudnya dari deklarasi
diatas yaitu Class CounterDemo ingin mengambil data dalam Class Counter.
Perintah extends digunakan
untuk mengambil data dari kelas yang akan diambil datanya atau ingin
menambah-nambah class turunannya.
KONSEP-KONSEP INHERITANCE
1. Single inheritance
=> suatu kelas yang hanya
dapat mempunyai 1 parent class saja. Dideklarasikannya dengan cara menambahkan
perintah extends.
2. Multilevel inheritance
=> suatu kelas yang
mempunyai banyak parent class. Dideklarasikannya dengan cara menambahkan
perintah super.
CONTOH PROGRAM INHERITANCE
Lalu buat file baru dengan codingan seperti dibawah ini.
Lalu buat file baru dengan codingan seperti dibawah ini.
OUTPUT :
NOTE :
- Ingat dikonsep inheritance
tidak bisa menurunkan/mengakses class yang memiliki modifier private harus
classnya memiliki modifier publik. Dalam class yang memiliki modifier protected
bisa mengakses diluar paket dengan menggunakan extends.
- Dalam inheritance
konstruktor tidak dapat diwariskan karena setiap class memiliki konstruktornya
masing-masing sehingga tidak dapat diwariskan pada class turunannya.
KATA KUNCI SUPER
Perintah Super untuk memanggil
konstruktor parent class.
kata kunci super untuk
memanggil constructor super dalam constructor dari subclass akan
menghasilkan eksekusi dari
superclass constructor.
Perintah Super untuk memanggil
constructor kedua superclass.
Hal-hal untuk memanggil
constructor super :
a. Pemanggil super() harus
dijadikan pernyataan pertama dalam constuctor.
b. Hanya digunakan dalam
definisi constructor.
c. Hanya digunakan dalam
constructor yang beda tidak boleh sama.
constuctor super () terdiri
dari :
constructor this() dan
pemanggil super()
Subclass
juga dapat memanggil constructor secara eksplisit dari superclass terdekat. Hal
ini dilakukan dengan pemanggil constructor super.
Pemanggil
constructor super dalam constructor dari subclass akan menghasilkan eksekusi
dari superclass constructor yang bersangkutan.
Pemanggil
super() hanya dapat digunakan dalam definisi constructor. Termasuk constructor
this() dan pemanggil super() tidak boleh terjadi dalam constructor yang sama.
Pemakaian lain dari super adalah untuk menunjuk anggota dari superclass
(seperti reference this).
OVERLOADING
Overloading adalah suatu
keadaan dimana beberapa method sekaligus dapat mempunyai nama yang sama, akan
tetapi mempunyai fungsionalitas yang berbeda.
Ciri-ciri Overloading :
Nama method harus sama
- Daftar parameter harus berbeda
- Return type boleh sama, juga boleh berbeda
Contoh Program Overloading :
Overriding adalah suatu
keadaan dimana method pada subclass menolak method pada parent class-nya.
Ciri-ciri Overriding :
- Nama method harus sama.
- Daftar parameter harus sama.
- Return Type harus sama.
Contoh Program Overriding :
FINAL & CLASSFINAL
Dalam
Java, juga memungkinkan untuk mendeklarasikan class-class yang tidak menjadi
subclass. Class ini dinamakan class final.
Untuk
mendeklarasikan class untuk menjadi final, tambahkan kata kunci final dalam
deklarasi class.