Minggu, 08 Juni 2014

Rian Saadillah

Inheritance dalam java



Inheritance (turunan) merupakan salah satu konsep penting dalam pemrograman berorientasi obyek. Turunan memperbolehkan penggunaan kelas yang sudah ada sebagai superclass di dalam mendefinisikan kelas turunannya. Kelas turunan (subclass) akan mewarisi (inherit) data field (properti atau atribut) dan metoda terakses (accessible) yang dimiliki oleh superclass. Superclass akan mempunyai sifat lebih umum (general), sedangkan kelas turunannya akan lebih spesifik. Umumnya kelas turunan mempunyai data field dan metoda tambahan selain data field dan metoda yang diwarisi dari superclass.

Penekanan konsep turunan adalah penggunaan kelas yang sudah ada (reusability). Konsep turunan dapat mempersingkat waktu pendefinisian subclass. Sekali sebuah subclass didefinisikan, kelas tersebut dapat menjadi superclass untuk subclass yang lain. Kelas Object berada di puncak teratas dalam hirarkhi kelas di Java. Semua kelas, langsung maupun tidak langsung, merupakan turunan dari kelas Object. Salah satu metoda istimewa yang dimiliki oleh kelas Object adalah metoda toString yang merupakan string representation dari sebuah objek.

Superclass dan Subclass.

Kelas atas atau kelas asal sering disebut dengan superclass, base class, atau parent class, sedangkan kelas turunannya sering disebut dengan child class, derived class atau extended class. Di artikel Mendefinisikan Kelas Java, terdapat contoh program kelas PersegiPanjang yang hasil kompilasinya (PersegiPanjang.class) diletakkan di direktori (paket) c:\filejava\javaapp\kelas\bangun\datar.

Persegi panjang merupakan bangun datar yang mempunyai sisi panjang dan lebar sebagai data field. Dari sisi panjang dan lebar, dapat ditentukan keliling dan luas persegi panjang. Misalnya, Anda ingin membuat kelas baru yaitu kelas Balok. Balok merupakan bangun ruang yang mempunyai sisi panjang, lebar, dan tinggi sebagai data field. Dari sisi panjang, lebar, dan tinggi, dapat ditentukan pula volume balok. Untuk memudahkan dan mempersingkat pendefinisian kelas Balok, Anda dapat menggunakan atau memanfaatkan kelas PersegiPanjang sebagai superclass dari subclass Balok.

Kata kunci extends.

Kata kunci extends digunakan untuk mendeklarasikan kelas turunan (subclass) dari kelas atasnya (superclass). Dengan kata kunci extends, kelas turunan akan mewarisi data field dan metoda yang dimiliki oleh kelas di atasnya. Sebenarnya tidak semua data field dan metoda akan diwariskan kepada kelas turunnannya. Data field dan metoda yang dideklarasikan dengan modifier private, tidak diwariskan kepada kelas turunannya. 

Subclass dan superclass di paket berbeda.

Kelas turunan dapat didefinisikan lebih cepat dengan memanfaatkan kelas yang ada. Apabila definisi kelas turunan berasal dari superclass yang berada di paket berbeda, Anda harus mengimpor kelas tersebut terlebih dahulu dengan menggunakan kata kunci import. Apabila superclass berada di paket yang sama dengan subclass yang sedang didefinisikan, Anda tidak perlu untuk mengimport superclass. Kelas sebaiknya dikelompokkan menurut jenis dan fungsinya dan diletakkan di nama paket yang menggambarkan kelas tersebut.

Sebagai contoh, kelas PersegiPanjang di artikel Mendefinisikan Kelas Java merupakan bangun datar dan diletakkan di direktori c:\filejava\javaapp\kelas\bangun\datar. Apabila Anda ingin mendefinisikan kelas baru (misalnya subclass Balok) yang merupakan turunan dari kelas PersegiPanjang, sebaiknya kelas tersebut diletakkan di direktori (paket) berbeda, misalnya c:\filejava\javaapp\kelas\bangun\ruang karena subclass Balok merupakan bangun ruang yang berbeda dengan bangun datar. Dengan memanfaatkan paket (package) untuk mengkategorikan atau mengkelompokkan kelas, Anda akan lebih gampang menemukan kelas yang akan digunakan. Paket juga memungkinkan Anda untuk mendefinisikan kelas dengan nama sama. Namun demikian, ini bukan berarti bahwa kelas yang masuk kategori bagun datar dan bagun ruang benar-benar harus diletakkan dalam paket berbeda. Anda dimungkinkan untuk meletakkan kelas apapun dalam satu paket tanpa harus mengkategorikannya ke dalam paket berbeda. 

Rian Saadillah

About Rian Saadillah -

Author Description here.. Nulla sagittis convallis. Curabitur consequat. Quisque metus enim, venenatis fermentum, mollis in, porta et, nibh. Duis vulputate elit in elit. Mauris dictum libero id justo.

Subscribe to this Blog via Email :