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

举一例子:

classApple@@number=0#苹果个数definitialize(color)@color=color@number=0enddefadd@number+=1@@number+=1puts"Thistypeapple:#@umber.Alltypeapple:#@@number"endend

测试代码:

redApple=Apple.new("red")greenApple=Apple.new("green")redApple.addgreenApple.addredApple.addredApple.add

测试结果: