Posted at :
Mar/03/2007
Seperti yang telah saya tulis di artikel sebelumnya mengenai intro to OOP, maka pada artikel ini saya akan membahas OOP dari sisi code nya dengan menggunakan VB. Sebenarnya prinsip OOP di C# dengan di VB itu sama, yang membedakan sudah pasti dari sintaknya dan juga fitur-fitur secara language enchancements.
Pilar-pilar OOP ada empat, yaitu :
1) Abstraction : Dengan abstraction maka seorang developer / client hanya mengetahui funngsionalitas yang diberikan oleh suatu object. Fungsionalitas tersebut bisa berupa method, properti dan member lainnya. Sedangkan business role yang terdapat didalam object tsb tidak dapat diketahui oleh user.
2) Encapsulation : Enkapsulasi (pembungkusan) akan menyembunyikan data-data yang sifatnya tidak boleh diketahui oleh user pada object tsb. Enkapsulasi ini lebih ditekankan pada pemberian access modifier private pada field, method, property. Jadi untuk mengakses data tsb maka object menyediakannya lewat property yang dapat diakses oleh user.
3) Inheritance : Istilah dalam bahasa Indonesia dikenal dengan pewarisan. Dengan fitur ini maka sebuah class dapat diturunkan dari class yang sudah ada. Class yang dijadikan sebagai parent class biasanya disebut Base Class, dan class yang diturunkan disebut Child Class / Inherited Class. Setelah child class nya dibuat maka semau fungsionalitas yang terdapat di dalam base classnya akan ikut terwarisi juga. Artinya secara code kita tidak perlu lagi menambahkan fitur yang sudah terdapat di base class nya, kecuali kalau kita mau extend fungsionalitasnya. Di VB dan C# (.net platform) hanya bisa dilakukan single inheritance, artinya sebuah child class tidak dapat diturunkan lebih dari satu class. Yang dapat melakukan multiple inheritance hanya C++.
4) Polymorphism : Secara deskriptif artinya mempunyai bentuk lebih dari satu. Ya kita dapat membuat lebih dari satu class yang diturunkan dari class yang sama akan tetapi mempunyai implementasi fungsionalitas yang berbeda. Polymorphism ini ada dua jenis, yaitu Polymorpism berbasiskan Inheritance dan Polymorphism berbasiskan Interface.
Sebelum saya bahas struktur sebuah class, terlebih dahulu akan diterangkan mengenai Access Modifier (AM). AM digunakan untuk mengatur aksesibilitas sebuah class member terhadap class yang akan menggunakan member class tsb.
Ada beberapa jenis Access Modifier, yaitu :
- Public : Dapat diakses dari semua class.
- Private : Hanya dapat diakses oleh class nya itu sendiri atau method dimana deklarasi dengan akses modifier tsb berada.
- Protected : Hanya dapat diakses oleh class nya itu sendiri dan class turunannya.
- Friend : Hanya dapat diakses oleh class dalam sebuah assembly yang sama / project yang sama.
- Protected Friend : Merupakan gabungan dari akses modifier Protected dan Friend. Jadi dapat diakses oleh classnya itu sendiri, class turunannya dalam satu assembly yang sama.
AM tsb dapat digunakan pada method, properti, variabel, event. Istilah class member ditujukan pada item-item yang disebut di atas...Ok..sekian dulu OOP Part-1 nya...di part berikutnya kita akan lihat struktur sebuah class...Stay tuned