【Rails】クラス変数とインスタンス変数とクラスメソッドの違い

  • URLをコピーしました!

クラス変数というのはそのクラスが共通で使う事ができる変数。
次の子供クラス(Kodomo)の最初で宣言しているように@を2個重ねて宣言をする。

クラスメソッドというのはメソッド宣言のときにself.を付けてあげる。

class Kodomo

  @@nanninme = 0

  def initialize
    @@nanninme += 1
  end

  def self.ima
    puts "いま#{@@nanninme}人目"
  end

end

ichioro = Kodomo.new
jiro = Kodomo.new

Kodomo.ima

とやると、子供クラス(Kodomo)を生成するたびに、@@nannninmeがプラス1されていく。

クラスメソッドは、クラス名.ima とやってメソッドを呼ぶと、@@nanninmeを表示する。

@@nannninmeは、クラス変数なので共通の変数として扱われていることがわかる。


目次

プログラミング学習を体系的に進めたい人へ

独学で基礎を確認したあとに、質問できる環境や転職・副業向けの学習サポートも比べたい人は、プログラミングスクールの比較記事も参考にしてください。学習目的、料金、受講期間、サポート範囲を分けて見ると、自分に合う学び方を選びやすくなります。


目次