Apa yang sudah dilakukan pada program Visibilitas adalah sudah cukup untuk menjaga konsistensi data, akan tetapi cara tersebut masih terasa kurang alami. Alangkah lebih mudahnya jika kita tetap memperlakukan posisi seperti sebuah variabel biasa. Jika kita menginginkan nilainya maka kita menempatkan variabel tersebut pada sebelah kanan operator penugasan. Sebaliknya jika kita ingin mengubah nilainya maka kita menempatkan variabel tersebut pada sebelah kiri operator penugasan.

Tidak masalah, keinginan Anda dikabulkan! Dengan menggunakan mekanisme property, maka Anda bisa memperlakukan Posisi seperti halnya variabel biasa.

Pindahkan fungsi GetPosisi dan prosedur SetPosisi ke bagian private sehingga kedua method itupun sekarang hanya dapat diakses secara internal oleh TGambar. Pada bagian public, tambahkan baris berikut:

Perhatikan perubahan pada program di bawah ini:

Perhatikan bagaimana kita mendapatkan nilai posisi dan bagaimana memberi nilai yang baru. Tepat seperti akses terhadap variabel biasa. Mekanisme seperti ini sering disebut dengan abstraksi dan enkapsulasi. Perhatikan bahwa posisi adalah sesuatu yang abstrak. Kita melihatnya seolah-olah itu adalah variabel biasa. Padahal akses terhadap posisi adalah melalui sebuah method berupa GetPosisi untuk membaca dan method SetPosisi untuk menulis. Kerumitan-kerumitan tersebut kita bungkus (proses enkapsulasi) dalam sebuah mekanisme yang menjadikannya terlihat sederhana.

Cara membuat property

Untuk membuat property, pertama kali kita tentukan tipe dari property-nya. Jika property tersebut adalah property yang bisa dibaca, maka kita harus membuat sebuah fungsi dengan nilai kembalian dengan tipe yang sama dengan tipe property-nya. Jika property tersebut bisa dimodifikasi, maka kita harus membuat sebuah prosedur yang mengambil satu parameter dengan tipe sesuai tipe property-nya. Kemudian kita tempatkan fungsinya setelah kata read dan kita tempatkan prosedurnya setelah kata write.

property bisa bersifat read only, yaitu jika property tersebut tidak memiliki bagian write, atau write only, yaitu jika property tersebut tidak memiliki bagian read.

Time limit is exhausted. Please reload the CAPTCHA.