Archive

Posts Tagged ‘attr_accessor’

Sedikit tentang attr_accessor

February 6, 2010 1 comment

attr_accessor adalah method yang digunakan untuk proses set dan get dari accessor (pengakases variabel), Sesuai dengan Mantra dari DRY (Don’t Repeat Yourself),  dengan menggunakan method ini kita tidak usah repot menduplikasi method yang sama secara berulang-ulang hanya untuk men-set variabel  dari method initialize.

Pengetahuan tentang attr_accessor dibutuhkan karena adakalanya untuk suatu kebutuhan tertentu method ini tidak kita gunakan, untuk lebih jelasnya saya buat sebuah code sederhana yang lengkap tanpa menggunakan attr_accessor.


class Orang
    #attr_accessor :nama, :kelamin

    #attr_writer :nama
    #attr_reader :nama
    #attr_writer :kelamin
    #attr_reader :kelamin

	def initialize( aNama, aKelamin )
		@nama       = aNama
		@kelamin    = aKelamin
	end
	#set accessor untuk @nama
	def nama=( aNama )
		@nama = aNama
	end
        # get accessor untuk @nama
	def nama
		return @nama
	end
        # set accessor for @kelamin
	def kelamin=( aKelamin )
		@kelamin = aKelamin
	end
	# get accessor untuk @kelamin
	def kelamin
		return @kelamin
	end
end

t = Orang.new("Asep", "Lelaki tulen")

puts(t.nama)
puts(t.kelamin)

silahkan anda mencobanya dengan melakukan comment pada masing-masing. Saya masukan juga method attr_writer dan attr_reader yang dapat digunakan untuk set accessor dan get accessor instance variable.

class Orang
    attr_writer :nama
    attr_reader :nama
    attr_writer :kelamin
    attr_reader :kelamin
	def initialize( aNama, aKelamin )
		@nama       = aNama
		@kelamin    = aKelamin
	end
end

t = Orang.new("Asep", "Lelaki tulen")
puts(t.nama)
puts(t.kelamin)

kemudian coba code ini,


class Orang
    attr_accessor :nama, :kelamin
	def initialize( aNama, aKelamin )
		@nama       = aNama
		@kelamin    = aKelamin
	end
end

t = Orang.new("Asep", "Lelaki tulen")
puts(t.nama)
puts(t.kelamin)

Categories: Ruby Tags: ,
Follow

Get every new post delivered to your Inbox.