ありがちなクラスのインスタンス変数の使い方

class C
  @n = 0
  def self.n() @n end
  def self.new() @n += 1; super end
end

class S<C
  @n = 0
end

S.new; C.new; C.new; C.new; S.new;
p [C.n, S.n] #=> [3, 2]