続・続・継承の使い所がわからない

前々回の勉強会に出てきた例で、社員をインスタンス化しないなら、クラスじゃなくてモジュールにしてもいいはず。

module Shain
  @basic_salary = 0

  def standup;  @standup; end
  def bonus;    kyuryo * 4; end
  def kihonkyu; @basic_salary; end
  def kihonkyu=(salary) @basic_salary = salary; end
end

class Tanto
  include Shain

  def initialize; @standup = "担当が普通に起立しました。"; end
  def kyuryo; kihonkyu; end
end

class Shunin
  include Shain

  def initialize; @standup = "主任がすばやく立ちました。"; end
  def kyuryo; kihonkyu * 2; end
end

class Bucho
  include Shain

  def initialize; @standup = "部長がだるそうに立ちました。"; end
  def kyuryo; kihonkyu * 3; end
end

class Torishimariyaku
  include Shain

  def initialize; @standup = "取締役はふんぞりかえって立ちました。"; end
  def kyuryo; kihonkyu * 4; end
end

include する側とされる側が、互いに依存しているのが、なんか気持悪いけど。
(Shain が Tanto#kyuryo() に依存していて、Tanto#kyuryo() が Shain#kihonkyu() に依存している)

書き方が違うだけで、これって継承なのかな?

Tanto.ancestors  # => [Tanto, Shain, Object, Kernel]