ゲッターとセッター

 値の取得ができるメソッドの定義をゲッター、値の更新ができるメソッドの定義をセッターと言います。ゲッターは、クラスに設定したインスタンス変数の値をインスタンスから読み取って表示するためだけに存在します。そしてその値を更新するためのものがセッターです。

 

class Human
def initialize
puts "名前を入力してください"
@name = gets.chomp
puts "住所を入力してください"
@address = gets.to_i
end

#ゲッター
def name
@name
end

def address
@address
end

#セッター
def name=(set)
@name = set
end

def address=(set)
@address = set
end
end

 

 そしてそのゲッターとセッターの両方の役割を果たすものとして「attr_accessor」があります。attr_accessorの記述をした場合はおそらくこんな感じになります。

class Human
attr_accessor :name, :address
def initialize
puts "名前を入力してください"
@name = gets.chomp
puts "住所を入力してください"
@address = gets.to_i
end
end

 

 もし間違っていることを言っているようだったら修正いたします。