From: Dave Thomas Date: 2000-07-05T09:59:44-05:00 Subject: [ruby-talk:03832] Re: Order of overwriting ts writes: > 'include module' include method in the super class. Actually no overwriting of methods occurs. When you include a module, Ruby constructs a proxy class that has a method table the points to the module's method table, and inserts this proxy as the immediate parent of the class that did the including. So: class Ernie < Puppet Ernie <-- Puppet then include Duckie Ernie <-- Proxy <-- Puppet | V Duckie If e = Ernie.new, then in the first case e.squeak will be resolved by first looking in Ernie's method table, then in Puppet's (and the in Objects). In the second case, the order will be Ernie, Duckie, then Puppet. Regards Dave