我正在学习编程,因此决定尝试Ruby。我确定这是一个愚蠢的问题,但是讲师在谈论setter和getter方法,对此我感到困惑。这是示例:
class Human
def noise=(noise)
@noise = noise
end
def noise
@noise
end
end
由此,该类被实例化,我可以将其输出:
man = Human.new
man.noise=("Howdie!")
puts man.noise
这导致 Howdie!
现在让我感到困惑的是,讲师说如果没有getter方法(这两个方法中的第二个),就无法与实例变量@noise进行交互。
但是当我删除getter方法时,我仍然可以访问@noise,请参见示例:
class Human
def noise=(noise)
@noise = noise
end
end
man = Human.new
puts man.noise=("Howdie!")
这与使用getter方法时的工作原理相同。
所以现在我很困惑。为什么需要吸气剂?如果没有实例变量,教员意味着什么呢?他可能正在使用旧版本的Ruby吗?
在此先感谢您的帮助。
牛魔王的故事
婷婷同学_
相关分类