ruby中类变量与实例变量

转载 2013年12月02日 14:37:26
以@开始的变量是【实例变量】,实例变量属于特定的对象。
class Person
def initialize(name, gender, age)
@name = name
@gender = gender
   
   @age = age
end
end
上面的例子中,@name,@gender,@age都是实例变量。可以在类或子类的方法中引用实例变量。若引用尚未被初始化的实例变量的话,其值为nil。
【类变量】被一个类的所有实例对象共享,也可以被类方法访问到。类变量名以‘@@’,开始,例如‘@@number’。和全局变量,实例变量不同,类变量在使用前必须初始化:
class Person
@@number = 0 #使用前必须有初值
def initialize(name, gender, age)
@name = name
@gender = gender
     @age = age
     @@number += 1
end
end
类变量是私有的,在类外无法直接访问,你只能通过实例方法和类方法去访问它。

ruby中的实例变量和类变量

  为了解决老贾提出的,弄清楚为何继承的子类继承了类变量而没有继承实例变量的原因,需要弄清楚实例变量和类变量的存取方式。下面是我简单的一些分析,希望大家多多斧正。    类和对象的存储方式对象的结构在...

Ruby中全局变量,实例变量,局部变量,类变量,Symbol对比

Ruby中全局变量,实例变量,局部变量,类变量,Symbol对比 八 30th, 2011 发表评论 | Trackback Ruby中全局变量,实例变量,类变量,Sym...

ruby中类的写法以及属性,实例变量,类方法的用法

ruby中类的写法以及属性,实例变量,类方法的用法 标签: rubyclassgetterjavasetterfile 2011-11-16 12:28 3103人阅读 评论(...

ruby中类的写法以及属性,实例变量,类方法的用法 .

Ruby中类的写法   定义一个class   class Song    def initialize(name,artist,duration)      @name = name      @a...

ruby中类的写法以及属性,实例变量,类方法的用法

Ruby中类的写法 定义一个class class Song def initialize(name,artist,duration) @name = name @artist...

ruby 实例变量 和属性

对象和属性 我们创建的Song对象有一个内部状态(如歌曲title和artist)。这个状态对于其它对象是私有的——其它对象不能访问一个对象的实例变量。一般的,这是件好事。这保证了对象的一致性。 ...

Ruby on Rails,通过实例变量从Controller向View传递数据

http://blog.csdn.net/abbuggy/article/details/7627460 Controller是MVC框架的核心,从名字就可以看出Controller存在的意义就...
  • ABBuggy
  • ABBuggy
  • 2012年06月03日 16:36
  • 9120

Ruby 实例变量

Ruby要求实例变量以“@”符号开头。与静态语言不同的是,Ruby语言是一门动态语言,因此Ruby的实例变量无须声明,每个实例变量都是在第一次出现时动态加入对象。 因此,Ruby的实例变量通常在...

ruby学习之实例变量与self

最近一直在学习rails 我是看的一本叫做《Web开发敏捷知道》的书,这是rails的作者写的一本书,看之前据说很不错,书上写,本书的读者对象是rails的入门这,甚至是Ruby的入门者。我自己对ru...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ruby中类变量与实例变量
举报原因:
原因补充:

(最多只允许输入30个字)