ruby的类变量和实例变量

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

    举一例子:

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

    测试代码:

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

    测试结果:

    ruby的类变量和实例变量