Inheritance Pada Object Oriented Programming (OOP)

Selasa, 06 Oktober 2009

Object Oriented Programming (OOP)

Pemrograman berorientasi objek merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam class-class atau objek-objek. Model data berorientasi objek memberi fleksibilitas yang lebih, mudah dikembangkan dan dirawat, digunakan luas dalam teknik piranti lunak skala besar.

Pemrograman berorientasi objek dalam melakukan pemecahan suatu masalah tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut.

Objek

Objek dalam hal ini pada dasarnya adalah semua benda yang ada di dunia nyata. Ada dua karakteristik utama dari suatu objek yaitu :

1. Setiap objek memiliki atribut sebagai status yang kemudian akan disebut sebagai state.

2. Setiap objek memiliki tingkah laku yang kemudian akan disebut sebagai behaviour/method.

Class

Class merupakan prototipe yang mendefinisikan variabel-variabel dan method-method secara umum. Sedangkan objek pada sisi yang lain merupakan instansiasi dari suatu kelas.

Inheritance

Inheritance merupakan pewarisan atribut dan method dari sebuah class ke class lainnya (Subclass). Class dapat didefinisikan dengan referensi pada class yang lain yang telah terdefinisi. Inheritance merupakan pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang telah terdefinisi tersebut. Setiap subclass akan mewarisi state ( variabel-variabel ) dan behaviour ( method-method ) dari superclass-nya. Subclass kemudian dapat menambahkan state dan behaviour baru yang spesifik dan dapat pula memodifikasi ( override ) state dan behaviour yang diturunkan oleh superclass-nya.

Manfaat dari inheritance dalam OOP adalah :

1. Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang source bcode dari superclass yang telah ada.

2. Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum.

Beberapa istilah yang sering berkaitan dengan konsep inheritance yaitu :

· 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

Subclass juga dapat memanggil constructor secara eksplisit dari superclass terdekat. Hal ini dilakukan dengan pemanggil construktor super. Pemanggil constructor super dalam constructor dari subclass akan menghasilkan eksekusi dari superclass constructor yang bersangkutan, berdasar dari argumen sebelumnya.

Ada beberapa hal yang harus diingat ketika menggunakan pemanggil constuktor super :

ü Pemanggil super() harus dijadikan pernyataan pertama dalam constructor.

ü Pemanggil super() hanya dapat digunakan dalam definisi constructor.

ü Termasuk constructor this() dan pemanggil super() tidak boleh terjadi dalam constructor yang sama.

· Overriding

Pendefinisian ulang method yang sama pada subclass. Overriding Terjadi ketika deklarasi method subclass dengan nama dan parameter yang sama dengan method dari superclassnya.

Selamat belajar....

heee....