Ruby - クラス変数Advertisementクラス変数
変数名の先頭に@@をつけると、その変数はクラス変数として扱われる。クラス変数は特定のクラスに属していて、クラスの得意メソッドや、そのクラスから生成されたインスタンスから参照することができる。
インスタンスをいくつ生成しても、クラス変数はひとつだけとなり、個々のインスタンスから共有される。 例 @@name = "his_name" サンプルコード
sample.rb
class Sample
@@sex = "man"
def printSex
print @@sex, "\n"
end
def setSex(sex)
@@sex = sex
end
end
sample = Sample.new
sample.printSex()
sample.setSex("woman")
sample2 = Sample.new
sample2.printSex()
結果 man womansample, sample2が参照しているインスタンスは、互いに同じクラスから生成されている。よって、sample, sample2共に、変数@@sexは共有されることになる。 上記の例ではsampleとsample2が参照している@@sexが同じであることを示している。 Advertisement |
ショートカット・634トップページ・このカテゴリのトップページに戻る ・634ラボ サイト検索Y!ログール |