首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > Ruby Rails >

Ruby中类变量跟实例变量

2012-09-10 
Ruby中类变量和实例变量@shared 100class MyClassclass selfattr_accessor :sharedendendclass MyCla

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.实例变量是不能继承的

热点排行