前田です。 At Mon, 15 Nov 1999 23:04:17 +0900, Shigeo Kobayashi <shigeo / tinyforest.gr.jp> wrote: > > > Mix-inを活用することでメソッドの干渉などがどのように防げるのか > > > いまひとつ理解できません. > > > >クラスは1本線の枠なので木構造です。 > rubyは多重継承を許さない以上1本線はわかります。 > ただ、このこととMix-inをあえて強調している説明がなかなか結びつきま > せん。実際にプログラムを作成していく段階で自然にわかってくると思い > ますが... Ruby本にも書かれていますが、多重継承の問題点は主に二つあって、 1. 継承関係の複雑化 2. 複数のスーパークラス間の属性(メソッドなど)の競合 このうち、残念ながら、Mix-inによって解決するのは1の問題だけです。 メソッドシグニチャが衝突した場合は、どちらかをaliasで改名させる必 要があります。 # そのメソッドを他のメソッドから呼んでいたりするとお手上げです:-( -- 前田 修吾