Rabu, 01 Mei 2013

Widgets

PEMROGRAMAN BERORIENTASI OBJEK



1.        Pemrograman Berorientasi Objek
Secara garis besar, suatu bahasa pemrograman dapat dikatakan sebagai bahasa pemrograman berorientasi objek (atau Object Oriented Programming / OOP) apabila ia mendukung konsep abstraksi (abstraction), enkapsulasi (encapsulation), polimorfisme (polymorphism), dan pewarisan (inheritance). Selain konsep-konsep ini, ada beberapa konsep fundamental lainnya, seperti kelas, objek, dan message.

2.        Kelas
Kelas mendefinisikan karakteristik-karakteristik abstrak dari sesuatu (objek), termasuk karakteristik dan perilaku (behavior) dari “sesuatu” itu sendiri. Kelas dapat diilustrasikan sebagai sebuah cetak biru (blueprint), prototipe, atau pabrik (factory) yang berfungsi untuk menghasilkan objek- objek.
Bentuk kelas yang paling sederhana diperlihatkan sebagai berikut:



3.        Objek
Dalam terminologi OOP, objek adalah instans (atau manifestasi) dari sebuah kelas. Dengan demikian, dalam konteks desain, kita berbicara mengenai kelas; saat run time, yang kita bicarakan adalah objek.
Baik di dunia nyata maupun di dalam pemrograman, sebuah objek memiliki dua karakteristik utama, yaitu state (status) dan behavior (perilaku). Sebagai contoh, kucing memiliki state (nama, warna, dan sebagainya) dan behavior (mengeong, melompat, dan sebagainya).

4.        Field
Field adalah variabel yang didefinisikan di dalam kelas, dan disebut juga sebagai member variable. Field—dan juga member-member kelas lainnya—dapat dideklarasikan dengan level akses tertentu. Berkaitan dengan level akses ini, ada beberapa jenis level dari yang umum sampai yang restriktif.



5.        Pewarisan (Inheritance)
Istilah inheritance (pewarisan) mengacu pada kemampuan dari sebuah kelas untuk mewarisi state dan behavior kelas lain. Dengan demikian, atribut-atribut dan method-method kelas yang diwarisi (superkelas) secara intrinsik menjadi bagian dari kelas yang mewarisinya (subkelas). Terlepas dari warisan yang telah diperoleh, subkelas dapat menambahkan atau memodifikasi atribut-atribut dan method-method superkelas.
 
Gambar hubungan pewarisan

Konsep inheritance melahirkan sejumlah pasangan istilah yang menggambar-kan hubungan antara dua kelas terkait, seperti superkelas- subkelas, supertipe-subtipe, kelas dasar-kelas turunan, ancestor- descendant, parent-heir, dan leluhur-turunan.

6.        Kelas Abstrak
Kelas abstrak (abstract class) adalah kelas yang mengandung konsep abstrak, dan tidak akan pernah bisa diinstansiasi. Kelas abstrak didefinisikan dengan tujuan untuk digunakan dan diperluas oleh kelas lain. Dengan demikian, kelas ini merupakan cikal bakal superkelas.


Gambar kelas abstrak buah

7.        Interface
Interface merupakan suatu tipe abstrak yang mendefinisikan komunikasi antara dua entitas. Interface merepresentasikan sebuah kontrak, di mana kelas yang mengimplementasikan interface harus menerapkan tiap-tiap aspek interface secara nyata sebagaimana yang telah didefinisikan.
Tujuan utama penggunaan interface adalah memungkinkan kelas-kelas yang mirip untuk memiliki behavior standar. Jadi, interface memiliki sedikit kemiripan dengan kelas abstrak, di mana keduanya sama-sama didesain untuk digunakan oleh kelas lain.
Di balik beberapa persamaan antara interface dan kelas abstrak, terdapat perbedaan-perbedaan di antara keduanya. Mengacu pada karakteristik keduanya, setidaknya ada dua perbedaan mendasar yang bisa kita garis bawahi.
  • Di dalam kelas abstrak boleh terdapat implementasi nyata dari suatu method. Keadaan ini berbeda sekali dengan interface, di mana semua method harus berupa deklarasi abstrak, dan tidak boleh ada implementasi sama sekali.
  • Suatu kelas hanya boleh mewarisi sebuah kelas, tetapi ia dapat mengimplementasikan lebih dari satu interface.




8.        Polimorfisme (Polymorphism)
Polimorfisme secara harfiah dapat diartikan banyak bentuk. Konsep ini memiliki arti kemampuan untuk mendefinisikan perilaku yang berbeda. Singkatnya, secara teknis, method atau konstruktor dengan nama sama dapat memiliki perilaku berbeda bergantung pada argumen atau tipe objeknya. Jadi, kata kunci untuk merepresentasikan konsep polimorfisme adalah: satu nama, banyak bentuk.
Konsep polimorfisme membentuk paradigma pemrograman yang ampuh yang mampu menyederhanakan definisi client dan secara dinamis mendukung pengubahan keterhubungan antarobjek saat runtime.

0 komentar:

Posting Komentar