上級 › クラス変数 @@var はサブクラスとも共有されてしまう › パターン3
クラス変数 @@var はサブクラスとも共有されてしまう
@@で始まるクラス変数は、そのクラスだけでなく継承したサブクラスとも1つの値を共有します。
1 class IdGenerator 2 ______________________________________________________________________________________________ ^ 3 end 4 5 class TempIdGenerator < IdGenerator 6 end 7 8 IdGenerator.increment 9 IdGenerator.increment 10 puts TempIdGenerator.count
出力: 2
空欄を埋めて実行を通す
クラスごとに独立させたい値は、@@ではなくクラスインスタンス変数(@で始まりクラス自身に属する変数)を使う必要があります。
次の問題