当前位置:首页>开发>正文

ruby实例变量 实例变量与类变量的区别

2023-04-11 15:04:03 互联网 未知 开发

ruby实例变量 实例变量与类变量的区别

实例变量与类变量的区别


其实ruby里实例变量和类变量的含义与java或者c 中的含义是一样的。只是使用起来更方便。简单说就是实例变量属于每一个对象自己,而类变量被所有该类的对象共享。class Person
@@count = 0 # 这是一个类变量,即使没有该类的对象被创建,也可以访问

def initialize(name)
@name = name # 这是一个实例变量,每个对象可以自己单独赋值
@@count = end

# 这是一个类方法,可以通过类名访问类变量
def self.getCount
puts "count = #{@@count}"
end

# 这是一个对象方法,只能通过对象实例调用,但也可访问类变量
def sayHi
puts "Hi, Im #{@name}. There are #{@@count} people."
end
endPerson.getCount # 没有对象创建,也能访问类变量p1 = Person.new("Jacky")
p1.sayHi
Person.getCountp2 = Person.new("Lily")
p2.sayHi
Person.getCount
输出:count = 0
Hi, Im Jacky. There are 1 people.
count = Hi, Im Lily. There are 2 people.
count = 2