Memahami Konsep Turunan (Inheritance) Di Java



Inheritance (turunan)  merupakan salah satu konsep penting dalam pemrograman berorientasi object.
tununan memperbolehkan penggunaan kelas yang sudah ada seagai superclass di dalam mendefinisikan kelas turunannya. Kelas turunan akan mewarisi data field (properti atau atribut) dan metoda terakses yang dimiliki oleh superclass. Umumnya kelas turunan mempunyai data field dan metoda tambahan selain data field dan metoda yang di warisi dari superclass.


Penakanan konsep tununan adalah penggunaan kelas yang sudah ada. Sekali sebuah subclass didefinisikan, kelas tersebut dapat menjadi superclass untuk subclass yang lain. Kelas object  berada di puncak teratas dalam hirarkhi di java. Salah satu metoda istimewa yang dimiliki oleh kelas object adalah metoda toString yang merupakan string representation dari sebuah obyek.

Superclass dan Subclass
Kelas atas sering di sebut superclass, base class atau parent class. Sedangakan kelas turunannya disebut child class,derived class atau extended class. Contoh sederhananya kelas Persegi Panjang yang hasil komplasinya (Persegi Panjang class) diletakkan di direktori (paket) c:\filejava\javaapp\kelas\bangun\datar.

Persegi panjang yang mempunyai sisi panjang dan lebar dijadikan sebagai data field. Dari sisi panjang dan lebar dapat di tentukan keliling dan luas bangunan persegi panjang. Balok merupakan bangun ruang yang punya sisi panjang, lebar, tinggi sebagai field. Untuk memudahan pendefinisian kelas balok anda dapat menggunakan kelas persegi panjang sebagai superclass dari subclass balok.

Kata Kunci Extends

Kata kunci extends digunakan untuk mendeklarasikan kelas turunan(subclass) dari kelas atasnya. Dengan kata lain kelas turunan mewarisi data field dan metoda yang dimiliki oleh kelas di atasnya, namun tidak semua field yang di wariskan. Data field dan metoda yang dideklarasikan dengan modifier private tidak  diwariskan kepada kelas turunannya . Berikut syntak untuk mendeklarasikan kelas turunan :

public class nama-subclass extends nama-superclass{
\\data dan metoda
}


Subclass dan Superclass di paket yang berbeda

Kelas turunan dapat didefinisikan lebih cepat dengan memanfaatkan kelas yang ada. Apabila turunan berasal dari superclass yang berada di paket berbeda, anda harus mengimpor kelas tersebut terlebih dahulu dengan menggunakan kata kunci import. Kelas sebaiknya di kelompokkan menurut jenis dan fungsinya dan di letakkan di paket yang menggambarkan kelas tersebut. contoh c:\filejava\javaapp\kelas\bangun\datar. Apabila ingin mendefinisikan kelas baru  yang merupakan turunan dari persegi panjang sebaiknya di letakkan di direktori yang berbeda, misalnya c:\filejava\javaapp\kelas\bangun\ruang  karena subclass Balok merupakan bangun ruang yang berbeda dengan bangun datar. Namun demikian ini bukan berarti bahwa kelas yang masuk kategori bangun datar dan bangun ruang benar-benar harus di letakkan dalam paket berbeda, anda dimungkinkan untuk meletakkan kelas apapun dalam satu paket tanpa harus mengkategorikannya dalam paket yang berbeda.

Komentar

Postingan Populer