Ruby Class variable, instance variable 和 class instance variable 辨析(2)

linusliu · 2014年08月10日 · 最后由 Ryn 回复于 2014年08月10日 · 2101 次阅读

instance variable 没什么太多可说的,就是实例属性,每个实例都可以保存不同的值,互不干扰。实例属性是@加属性名。看下例:

class Square
   attr_accessor :side
   def initialize (len)
    @side=len
   end
end

a=Square.new(10)
b=Square.new(20)
p a.side
p b.side
a.side=50
b.side=60
p a.side
p b.side

在 initialize 方法中,我们初始化了@side这个实例属性。但我挺不习惯的是,在定义实例属性时是@side,但引用时却是 side.

Square#size 是一个 instance method。

原来是真么回事,谢谢

ruby 类中的属性有可能是 public 的吗?假如向上面那个例子,有没有可能这么写 a.@side?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号