続・続・継承の使い所がわからない
前々回の勉強会に出てきた例で、社員をインスタンス化しないなら、クラスじゃなくてモジュールにしてもいいはず。
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]