Konsep OOP

Halo. Mari kita mulai menu pertama dalam Java Cafe, kali ini kita akan mulai dari konsep OOP alias Object Oriented Programming atau dalam bahasa indonesia-nya Pemrograman berorientas Object. Jika Anda belum pernah menggunakan bahasa pemrograman berorientasi object sebelumnya, Anda akan perlu belajar beberapa konsep dasar sebelum anda dapat mulai menulis kode apapun. Obrolan ini akan memperkenalkan Anda ke object, class, inheritance, interfaces, dan packages. Setiap diskusi berfokus pada bagaimana konsep-konsep ini berhubungan dengan dunia nyata, sementara secara bersamaan memberikan pengenalan sintaks bahasa pemrograman Java.
Apakah anda siap dengan konsep? Siapkan kopi, di sebelah anda. dan mari kita mulai.. Spartaaa!!
Apa itu Object?

Object pada dunia nyata memiliki dua karakteristik: Mereka semua memiliki state (atribut/sifat) dan behavior (perilaku). Anjing memiliki state (nama, warna, jenis, lapar) dan behavior (menggonggong, mengambil, mengibaskan ekor). Sepeda juga memiliki state (gigi sepeda, irama pedal saat ini, kecepatan saat ini) dan perilaku (mengubah gigi, mengubah irama pedal, menerapkan rem). Mengidentifikasi state dan perilaku untuk objek dunia nyata adalah cara yang bagus untuk mulai berpikir dalam hal pemrograman berorientasi obyek.
Sekarang, coba luangkan waktu sebentar sekarang untuk mengamati object pada dunia nyata yang berada di daerah dekat Anda. Untuk setiap objek yang Anda lihat, silahkan tanyakan pada diri sendiri dua pertanyaan: “Apakah state yang mungkin untuk object yang anda temui?” dan “dan apa saja behavior yang ada pada setiap object yang anda temui?”. Pastikan untuk menuliskan pengamatan Anda. Ketika Anda melakukannya, Anda akan melihat bahwa objek dunia nyata bervariasi dalam tingkat kompleksitas.
Sebut saja lampu belajar anda, mungkin hanya memiliki dua state yang mungkin (on dan off) dan behavior  (menyalakan, mematikan), tetapi pesawat radio mungkin akan memiliki tambahan state yang lain (aktif, mati, volume saat ini, stasiun saat ini) dan behavior (menyalakan, mematikan, meningkatkan volume, volume menurun, mencari, memindai, dan tune). Anda juga mungkin melihat bahwa beberapa benda, pada gilirannya, juga akan berisi objek lain. Pengamatan anda pada dunia nyata inilah yang  semua diterjemahkan ke dalam dunia pemrograman berorientasi obyek.
concepts-object
A software object.
Sebuah object secara konseptual mirip dengan benda pada dunia nyata: mereka juga terdiri dari behavior dan state yang terkait. Sebuah object akan menyimpan state yang dimilikinya pada field (atau bisa disebut variabel dalam beberapa bahasa pemrograman) dan mengekspos behavior-nya melalui apa yang disebut method (atau sama dengan fungsi dalam beberapa bahasa pemrograman lain). Method beroperasi pada state internal suatu object dan berfungsi sebagai mekanisme utama untuk komunikasi object-ke-object. Menyembunyikan state internal dan membutuhkan semua interaksi yang akan dilakukan melalui sebua method object yang diketahui disebut data encapsulation -  ini merupakan prinsip dasar pemrograman berorientasi obyek.
Bingung ya? Ok, mari ambil contoh sepeda, misalnya:
concepts-bicycleObject
A bicycle modeled as a software object.
Dengan menghubungkan state (kecepatan saat ini, irama pedal saat ini, dan gear saat ini) dan menyediakan method untuk mengubah behavior itu, objek tetap mengendalikan bagaimana dunia luar diperbolehkan untuk menggunakannya.
Misalnya, jika sepeda yang hanya memiliki 6 gigi, sebuah method untuk mengubah gigi bisa menolak setiap nilai yang kurang dari 1 atau lebih besar dari 6..
Happy coding

copy : http://java.ruangtedy.net ( dengan edit)

Posting Komentar