上級 › クラス変数 @@var はサブクラスとも共有されてしまう › パターン2
クラス変数 @@var はサブクラスとも共有されてしまう
@@で始まるクラス変数は、そのクラスだけでなく継承したサブクラスとも1つの値を共有します。
1 class Visitor 2 ______________________________________________________________________________________________ ^ 3 end 4 5 class VipVisitor < Visitor 6 end 7 8 Visitor.increment 9 Visitor.increment 10 puts VipVisitor.count
出力: 2
空欄を埋めて実行を通す
サブクラスごとに独立した集計をしたいつもりでも、@@変数は継承元とサブクラスの間で1つの実体を共有します。
次の問題