This is the mail archive of the guile@cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: A&S Footnote (Re: records)


On 24 Jul 1999 08:51:01 -0700, per@bothner.com wrote:
> Jost Boekemeier <jostobfe@linux.zrz.TU-Berlin.DE> writes:
>
> > Yes, multiple inheritance is complex (even in eiffel) so that java for
> > example avoids multiple inheritance completely and uses delegation
> > instead.  And the inheritance graph can degenerate to something what
> > our class has called "object oriented spaghetti code".
>
> In O-O terminology "delagation" normally means inheritance through
> a chain of "parent" *objects*:  A message that is not understood
> gets passed (delegated) to another object to handle.  The point
> is that there are no classes or types, only objects.  Self uses
> delegation, but neither Java, Smalltalk, CLOS, Simula67, or
> Eiffel use delagation.
>
> Java does *not* use delegation;  instead it has multiple
> interface inheritance combined with single implementation inheritance.

Objective-C also uses delegation - and thereby avoids the horrors of multiple
inheritance.  While it is theroetically true that 'the inheritance graph can
degenerate' to 'object oriented spaghetti code', this 'can' is a very
hypothetical one - it doesn't happen in practice.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]