📅  最后修改于: 2023-12-03 15:19:52.582000             🧑  作者: Mango
在 Ruby 中,类中的变量和方法可以是静态的,也称为类变量和类方法。静态成员是与类对象相关联,而不是与类的实例对象相关联的。本文将介绍 Ruby 中的静态成员,并提供一些例子以帮助您更好地理解。
类变量在类定义内部通过使用 @@
符号定义:
class Example
@@counter = 0
def initialize
@@counter += 1
end
def self.get_counter
@@counter
end
end
在上面的例子中,我们定义了一个名为 Example
的类,该类包含一个静态变量 @@counter
。我们还定义了一个初始化方法,每次创建类实例时该方法将会自增 @@counter
变量。最后我们定义了一个名为 get_counter
的类方法来获取 @@counter
变量的值。
类方法使用 self
关键字定义:
class Example
def self.hello
puts "Hello!"
end
end
在上面的例子中,我们定义了一个名为 Example
的类,该类包含一个名为 hello()
的类方法。该方法可以通过 Example.hello
调用,而不是通过类的实例。
现在我们来看看如何使用 @@counter
变量:
ex1 = Example.new
ex2 = Example.new
puts Example.get_counter # 输出: 2
在上面的例子中,我们创建了两个 Example
类型的对象,并通过调用 Example.get_counter
方法获取了对象的数目,它输出为 2。
下面是使用 hello()
方法的示例:
Example.hello # 输出: Hello!
在上例中,我们调用了 Example
类中的 hello()
方法,并输出了 "Hello!"。
本文介绍了 Ruby 中的静态成员,包括类变量和类方法,并提供了相应的示例。类变量可以用于跟踪类级别的信息,而类方法允许您在不创建对象的情况下调用与类相关的代码。