Anda hanya perlu melihat nama ... "Properti". Apa artinya? Kamus mendefinisikannya dengan banyak cara, tetapi dalam hal ini "atribut atau kualitas yang esensial atau berbeda atau kualitas sesuatu" paling cocok.
Pikirkan tentang tujuan tindakan tersebut. Apakah Anda, pada kenyataannya, mengubah atau mendapatkan kembali "atribut yang esensial atau berbeda"? Dalam contoh Anda, Anda menggunakan fungsi untuk menyetel properti kotak teks. Kedengarannya konyol, bukan?
Properti sebenarnya adalah fungsi. Mereka semua dikompilasi menjadi getXXX () dan setXXX (). Itu hanya menyembunyikannya dalam gula sintaksis, tetapi gula itulah yang memberikan makna semantik pada proses tersebut.
Pikirkan tentang properti seperti atribut. Mobil memiliki banyak atribut. Warna, MPG, Model, dll. Tidak semua properti dapat disetel, beberapa dapat dihitung.
Sedangkan Metode adalah tindakan. GetColor harus menjadi properti. GetFile () harus berupa sebuah fungsi. Aturan praktis lainnya adalah, jika itu tidak mengubah status objek, maka itu harus menjadi fungsi. Misalnya, CalculatePiToNthDigit (n) harus berupa fungsi, karena fungsi ini tidak benar-benar mengubah status objek Matematika yang dilampirkan.
Ini mungkin sedikit bertele-tele, tetapi intinya adalah memutuskan apa objek Anda, dan apa yang mereka wakili. Jika Anda tidak tahu apakah itu harus menjadi properti atau fungsi, mungkin tidak masalah yang mana.