Accessor - Ruby Programming
Pada saat kita membuat sebuah class pada Ruby, sudah dipastikan di dalamnya akan dibuat berbagai macam method yang memiliki fungsi bertujuan berbeda.Method yang paling dasar / wajib ada pada bahasa pemrograman Ruby adalah membuat method setter dan method getter. Kedua method tersebut termasuk ke dalam accessor. Ok sekarang kita bahas terlebih dahulu apa itu setter dan apa itu getter :)
Setter merupakan method yang digunakan untuk menyimpan data ke dalam suatu variabel. Contoh :
def name = (n)
name = n
end
# maksud dari setter tersebut adalah karena digunakan untuk melakukan setting pada suatu variabel, semacam write / menuliskan isi inputan ke dalam variabel yang dibuat pada sebuah class
Getter merupakan method yang digunakan untuk mengambil / mengakses data yang terdapat di dalam suatu variabel di dalam class. Contoh :
def name
name
end
# maksud dari getter tersebut adalah karena digunakan untuk mengambil atau mengakses data yang berada di dalam suatu variabel di dalam class
Sekarang kita buat sebuah contoh dengan membuat sebuah class yang didalamnya perlu dimuat berbagai informasi siswa. Pada class siswa tersebut kita akan membutuhkan informasi seperti nis, nama, alamat, tanggal lahir, gender, dll.
Melihat kasus diatas, itu berarti kita perlu membuat sebuah setter dan getter untuk masing-masing variabel, benar begitu kan??? Ya benar, akan tetapi jika kita membuat setter dan getter secara manual di dalam class tersebut akan membutuhkan waktu dan menurut saya itu malah buang buang waktu -____-
Jika saat ini data nya cuma ada 5 tidak masalah, akan tetapi jika datanya ada 50 atau 100 bagaimana?? wasting time bukan?? -_____-
Nah, untuk mengatasi dan mengefektifkan hal tersebut kita bisa menggunakan satu baris code saja, yaitu dengan menggunakan accessor karena kedua nya (setter dan getter) termasuk ke dalam accessor. Contoh :
class Student
attr_accessor :name
end
# satu baris code tersebut secara otomatis akan membentuk setter dan getter. Mudah dan efektif bukan ? Pastinya!!! :D
Kemudian, jika kita hanya membutuhkan setter atau getter saja bisa membuatnya dengan menggunakan satu baris code ini :
class Student
attr_writer :name
end
# untuk membuat sebuah setter
class Student
attr_reader :name
end
# untuk membuat sebuah getter
Sekian pembahasan mengenai accessor. :)
Referensi :
- Accessor : http://ruby-doc.org/core-2.0/Module.html#method-i-attr_accessor
- Setter : http://ruby-doc.org/core-2.0/Module.html#method-i-attr_writer
- Getter : http://ruby-doc.org/core-2.0/Module.html#method-i-attr_reader
Let's share :)
No comments:
Post a Comment