Ruby类设置/获取

Sel*_*vam 6 ruby get set

这有什么问题set/get

class Pupil
  def name
    @name
  end

  def name=(name)
    @name = name
  end

  def age
    @age
  end

  def age=(age)
    @age
  end
end
Run Code Online (Sandbox Code Playgroud)

进一步说,如果有一个带有3个参数的子类,名称,年龄,性别,那么该集合中的方法只能用于性行为.你能否请出示set/get方法并在子类中初始化.

Pri*_*ain 14

def age=(age)
    @age
  end
Run Code Online (Sandbox Code Playgroud)

应该

  def age=(age)
    @age = age
  end
Run Code Online (Sandbox Code Playgroud)

您还可以通过使用attr_accessor替换get/set来使代码变得美观,attr_accessor本身提供了一个getter/setter

 class Pupil
   attr_accessor :age,:name
 end
Run Code Online (Sandbox Code Playgroud)