Friday, October 30, 2015

Inheritance (Pewarisan)



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.