溫馨提示×

Ruby類變量有何作用

小樊
82
2024-11-02 09:41:22
欄目: 編程語言

在Ruby中,類變量(Class Variables)是屬于類的變量,而不是屬于類的實例(對象)。它們以兩個下劃線(__)開頭和結(jié)尾,例如:@@variable_name。類變量在整個類及其所有實例之間共享,這意味著對類變量的任何更改將影響所有實例。

類變量通常用于存儲所有實例共享的數(shù)據(jù),例如類的版本號、描述或其他全局設(shè)置。與實例變量不同,實例變量(以@開頭)僅在特定實例中存儲數(shù)據(jù),不會影響其他實例。

以下是一個關(guān)于Ruby類變量的示例:

class MyClass
  @@variable_name = "Shared Data"

  def self.display_variable
    puts @@variable_name
  end

  def initialize
    @instance_variable = "Instance Data"
  end
end

# 訪問類變量
MyClass.display_variable # 輸出 "Shared Data"

# 創(chuàng)建類的實例
instance1 = MyClass.new
instance2 = MyClass.new

# 通過實例訪問類變量
instance1.display_variable # 輸出 "Shared Data"
instance2.display_variable # 輸出 "Shared Data"

# 更改類變量
MyClass.@@variable_name = "Updated Shared Data"

# 再次訪問類變量
instance1.display_variable # 輸出 "Updated Shared Data"
instance2.display_variable # 輸出 "Updated Shared Data"

在這個示例中,我們定義了一個名為MyClass的類,其中包含一個類變量@@variable_name和一個實例變量@instance_variable。我們可以通過類名直接訪問類變量,也可以通過類的實例訪問類變量。當(dāng)我們更改類變量時,所有實例中的類變量值都會更新。

0