读书人

Ruby中类变量跟实例变量

发布时间: 2012-09-10 22:20:12 作者: rapoo

Ruby中类变量和实例变量
@shared = 100
class MyClass
class << self
attr_accessor :shared
end
end

class MyClass_2 < MyClass
@shared = 500
end

p MyClass.shared ---> nil
MyClass.shared = 1
p MyClass.shared ----> 1
p MyClass_2.shared ---> 500

首先在Object类中定义了一个实例变量shared,而访问MyClass.shared的时候发现shared没有初始化,所以返回nil

而对于子类MyClass_2由于集成了父类中中的attr_accessor方法,而且自己定了实例变量 shared 所以等于 500
1.类变量是可以继承的
2.实例变量是不能继承的

读书人网 >Ruby Rails

热点推荐