From: "David A. Black" Date: 2007-09-26T23:31:46+09:00 Subject: Re: difference between inheritance and mixin Hi -- On Wed, 26 Sep 2007, Phrogz wrote: > On Sep 26, 12:06 am, Vellingiri Arul > wrote: >> Hai friends, >> Can anybody can answer this question. >> what is the difference between inheritance and mixin. >> what is the use of mixin and what is the use of inheritance. > > Mixin modules are searched before the parent class. > http://phrogz.net/RubyLibs/RubyMethodLookupFlow.png > > Also, you can only inherit from one parent class, but you can mixin > many modules to the same class. > > Because modules cannot inherit from other modules or classes, there is > no problem of 'diamond' inheritance. Modules can mix in modules, though, so you could have: module M module N module O class C But the diamond problem is avoided by having the order of mixing in be significant, so that there's no ambiguity about which module/class is to be searched. David -- Upcoming training from Ruby Power and Light, LLC: * Intro to Ruby on Rails, Edison, NJ, October 23-26 * Advancing with Rails, Edison, NJ, November 6-9 Both taught by David A. Black. See http://www.rubypal.com for more info!