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中的变量

Ruby中的变量有几种形式,分别是局部变量、实例变量、类变量、全局变量,对于初学者来说,常常容易搞混,尤其像本人这种做java的,理解起来还是头痛,经过仔细辨别学习,将这几种变量的差异及使用场景总结如...
  • tiger435
  • tiger435
  • 2013年02月25日 16:49
  • 1936

ruby中的实例变量和类变量

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

ruby中的变量及其作用域

想着对比其他语言能加深我的理解吧,如果有理解错误还请指正! 1.类变量 @@name 这个在OC和 Java中我都是没有遇到过的,目前还没有学到Ruby的静态属性, 我理解为就是某个类的 实例...
  • sch1111878
  • sch1111878
  • 2017年03月02日 15:47
  • 290

Ruby中的类变量于类实例变量的区别

在工作中遇到了一个比较诡异的问题,在dev模式下,A类中的类变量a 等于nil,但是在production环境下, 类变量a 是true. 这个问题是因为 类变量的诡异造成的。 Ruby中的类...
  • hexudong08
  • hexudong08
  • 2013年07月02日 18:59
  • 1549

ruby 类,全局变量和 类变量

类,ruby,ruby on rails ,全局变量
  • wisdom605768292
  • wisdom605768292
  • 2016年08月12日 17:50
  • 182

python中类变量和实例变量__之实例变量

1.Python中实例变量 class Test: def f(self, name): self.name = name def f1(self): ...
  • kc_1197977022
  • kc_1197977022
  • 2017年04月24日 22:37
  • 569

Java实例变量、类变量与局部变量

一、实例变量 也叫对象变量、类成员变量;从属于类由类生成对象时,才分配存储空间,各对象间的实例变量互不干扰,能通过对象的引用来访问实例变量。但在Java多线程中,实例变量是多个线程共享资源,要注...
  • zhangliangzi
  • zhangliangzi
  • 2015年12月21日 22:08
  • 8167

实例变量和类变量的区别

Java类体中的成员变量可以分为实例变量和类变量。其中类变量需用static修饰,否则则为实例变量。类变量又称为static变量或者静态变量。例如: class Book{ string ...
  • jinjidexiaocainiao
  • jinjidexiaocainiao
  • 2016年03月27日 15:51
  • 798

JAVA中实例变量与类变量的区别,实例方法和类方法的区别

转自:http://www.cnblogs.com/scf141592/p/5726347.html 实例变量 实例变量声明在一个类中,但在方法、构造方法和语句块之外; ...
  • caoxiaohong1005
  • caoxiaohong1005
  • 2017年06月25日 17:40
  • 446

java类变量与实例变量

直接上代码,大家看过执行结果,会不会觉得有问题呢? public class Price { //类成员是Price实例 final static Price INSTANCE=new Price(...
  • xuejingfu1
  • xuejingfu1
  • 2016年05月24日 13:03
  • 2184
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ruby中类变量与实例变量
举报原因:
原因补充:

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