From: 7stud -- Date: 2007-09-26T21:18:52+09:00 Subject: Re: difference between inheritance and mixin > what is the use of mixin and what is the use of inheritance "Programming Ruby (2nd)" : p 119: In fact, mixed-in modules effectively behave as superclasses." p. 355: If a module is included in a class definition, the module's constants, class variables, and instance methods are effectively bundled into an anonymous(and inaccessible) superclass for that class....Calls to methods not defined in the class will be passed to the module(s) mixed into the class before being passed to any parent class. module Greet def friendly_greet puts "Hello." end def angry_greet puts "Go away." end end class NicePerson include Greet end class MadPerson include Greet end class SadPerson include Greet def friendly_greet puts "Cry, hi, cry." end end np = NicePerson.new np.friendly_greet #Hello. puts mp = MadPerson.new np.angry_greet #Go away. puts sp = SadPerson.new sp.friendly_greet #Cry, hi, cry. sp.angry_greet #Go away. -- Posted via http://www.ruby-forum.com/.