• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ruby中的类变量与实例变量

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

首先,在ruby1.8中类变量是所有子类和父类共享的,可以看下面的代码:

 
class IntelligentLife     
  @@home_planet = nil  
     
  def self.home_planet   
    @@home_planet  
  end  
  def self.home_planet=(x)   
    @@home_planet = x   
  end  
  #...   
end  
class Terran 

可以看到结果是相同的,都是"Mars".这是因为父类的类变量是被整个继承体系所共享的。

在这里我们如果想要得到我们所需要的结果,我们就要使用类实例变量(注意,类实例变量是放在方法外面的,实例变量反之),因为类实例变量是严格的per-class,而不是被整个继承体系所共享。

 
class IntelligentLife     
  @home_planet = nil   
     
 class 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Windows上Ruby开发环境的配置发布时间:2022-07-14
下一篇:
ubuntu 14.04中安装 ruby on rails 环境(填坑版) 呕血推荐发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap