热门IT资讯网

ruby的类变量和实例变量

发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,类变量被类的所有对象所共享,它与类方法相关联。对一个给定的类来说,类变量只存在一份拷贝,相当于C++类中的静态变量(关键词:@@&static)。类变量由两个@符开头,例如@@count。与全局变量和

类变量被类的所有对象所共享,它与类方法相关联。对一个给定的类来说,类变量只存在一份拷贝,相当于C++类中的静态变量(关键词:@@&static)。类变量由两个@符开头,例如@@count。与全局变量和实例变量不同,类变量在使用之前必须被初始化。通常,初始化就是在类定义中的简单赋值。

举一例子:

  1. class Apple
  2. @@number = 0 # 苹果个数
  3. def initialize(color)
  4. @color = color
  5. @number = 0
  6. end
  7. def add
  8. @number += 1
  9. @@number += 1
  10. puts "This type apple: #@umber. All type apple: #@@number"
  11. end
  12. end

测试代码:

  1. redApple = Apple.new("red")
  2. greenApple = Apple.new("green")
  3. redApple.add
  4. greenApple.add
  5. redApple.add
  6. redApple.add

测试结果:

0