Tuesday, 4 December 2012

VISUAL C# No.7: [Beginner] Memahami Properties Object dan Polymorphism

Advertisement


Pada tutorial selanjutnya ini, kita akan membahas tentang ‘Properties Object’ dan ‘Konsep Polymorphism’ dalam C#. Pasti anda sudah tidak asing dengan yang namanya ‘Properties’ dan ‘Method’ kan?? Dan untuk anda yang sudah familiar dengan OOP, pasti juga sering mendengar kata polymorphism. Nah, kita akan membahas keduanya pada BAB ini. Terlebih dahulu mari kita kupas properties object dalam C#.

Semua bahasa pemrograman yang berorientasi object pasti memiliki method dan properties ini. Nah, dalam C# ada tutorial yang sangat menarik untuk ‘men-setting’ dan ‘men-getting’ properties object ini.



Sama seperti tutorial-tutorial kita sebelumnya, saya akan mengambil contoh-contoh kode dari MSDN (Microsoft Developer Network).

Anda dapat melihat Screenshot di atas berisikan kode simple yang mungkin belum pernah anda temui sebelumnya. Yup, itu merupakan sebuah baris kode untuk ‘mendeklarasikan’ sebuah properties. Terdapat dua hal yang penting yaitu ‘set’ dan ‘get’. Pada contoh di atas ‘set’ dan ‘get’ dimasukan ke dalam deklarasi, nah, nilai dari properties object dapat kita ubah (read/write, read-only, write-only) sesuai dengan ‘set’ dan ‘get’ ini.

Hmmm, mari kita buat sebuah Class Object agar lebih jelas, perhatikan kode di bawah ini:

Please, lihat dan baca baik-baik kode ini. Don’t worry, kode dari MSDN ini sangat mudah untuk dibaca dan dipahami.



Kode diatas, akan menampilkan seperti ini:
Simple Properties
Person details - Name = N/A, Age = 0
Person details - Name = Okie, Age = 25
Person details - Name = Okie, Age = 26


Gampang kan untuk dipahami???

Setelah sebuah property dideklarasikan, kita dapat mengubah value dari property tersebut, seperti papa contoh di atas.

saya.Name = "Okie";
saya.Age = 25;


‘Okie’ merupakan string dan ‘25’ merupakan integer (int).

Mungkin ada kebingungan, kenapa ada ‘value’ dan kenapa ada ‘override ToString()’??? Value merupakan sebuah variable pada method/fungsi ‘Set’ dalam property. Bisa dibilang bahwa variable ini berisikan nilai yang dimasukan oleh pengguna.

Nah, ToString ini mungkin tidak anda lihat penggunaannya di program, tetapi ToString ini masuk dalam Writeline C#. Sehingga saat kita memasukan Writeline maka secara otomatis akan melewati ToString (override).

Ternyata mudah ya MENAMBAHKAN PROPERTY untuk object. Tapi perlu diingat bahwa contoh ini hanyalah contoh sederhana. Anda mungkin akan menjumpai kode property yang jauh lebih kompleks seperti property antar class , antar file, dan lain-lain termasuk ABSTRACT PROPERTY. (^^,)
Apa itu abstract property??? Seperti apa contohnya??? Anda dapat mencari nya di google :)


POLYMORPHISM

Seperti yang sudah saya bilang di awal tutorial ini, untuk anda yang sudah familiar dengan pemrograman berorientasi object pasti sudah tidak asing dengan polymorphism. Tapi untuk yang belum tau, mudah-mudahan tutorial ini cukup bermanfaat.

Konsep utama lain dalam OOP selain ‘inheritance’ yang sudah kita bahas sebelumnya adalah ‘polymorphism’. Kalo diartikan dalam bahasa Indonesia adalah ‘berbagai bentuk/banyak bentuk’. Banyak bentuk yang bagaimana sih sebetulnya?? Kalo anda baca-baca pasti malah pusing karena penjelasannya susah demengerti, maka dari itu langsung saja ke kode.

Mari kita lihat kode berikut ini, ingat, lihat, perhatikan, dan baca kodenya, sangat simple dan mudah dipahami:

Pertama, kita akan membuat sebuah ‘Base Class’ dengan sebuah Virtual Method



Manusia Class merupakan Base Class yang nanti nya dapat diturunkan ke Class lain. Di sini kita memiliki sebuah method dengan virtual modifier yaitu method Saying(). Virtual modifier ini menunjukan bahwa Class turunan nantinya dapat meng-override method ini.

kedua, mari kita buat beberapa class lagi dalam beberapa file, antara lain Okie.cs, Ralia.cs, Nega.cs seperti berikut ini



Untuk 3 Class ini, Okie, Nega, Ralia semuanya merupakan turunan (inherit) dari Class Manusia, anda bisa lihat tanda titik dua (:) yang merupakan tanda inheritance. Seperti yang sudah saya bilang tentang virtual modifier, maka setiap Class turunan dapat meng-override virtual method base class. Dalam hal ini adalah method Saying() dari Base Class. Perhatikan, Override Saying semua kan??

Nah, sampai di sini tidak bingung kan?? Oke, mari kita lanjut dengan membuat sebuah file class lagi, class ini merupakan class utama yang berisikan Main method kita.



Coba lihat, Saybareng Class ini merupakan program utama kita. Nah, dalam polymorphism type object tidak penting asalkan diturunkan dari Base Class. Kita disini membuat sebuah type array dari Class Manusia dan kita berikan nama ‘Man’. Kemudian kita membuat object baru Okie, Ralia, Nega, dan Manusia sendiri dan kita masukan kedalam array tadi. Ajaib kan???

Nah, kode diatas akan menampilkan:

Nama saya Okie.
Nama saya Ralia.
Nama saya Nega.
Saya orang lho..


Nah, sekarang gimana tentang polymorphism ini?? Gampang kan dipahami??



EmoticonEmoticon