Multiple inheritance (Was: OOP)_(re)

Wed, 28 May 1997 20:17:03 -0400 (EDT)


On Wed, 28 May 1997, Peter Gerwinski wrote:

>   * are there existing Pascal standards (ANSI Object Pascal, Delphi)
>     requiring it?  (I *really* don't know.)

None.

>   * There are few places in my planned object hierarchy (I am *also*
>     working on a completely new library;) where MI could be useful:
>     There are several independent branches of recursive objects, say
>     `VisibleObj' and `DataObj', which all have a `Child ( i: Integer )'
>     method returning the `i'th child.  It would be nice to implement
>     some stuff, say a `ForEach' method, in a common ancestor.  Without
>     MI, this common ancestor must be a *very* "low" object, `BaseObj'
>     itself, the parent of all objects.  I am not sure if it is wise to
>     make *every* object in the hierarchy potentially recursive.

Check this out a bit more, I'm sure you'll find out you can do without,
and inevitably, you'll probably find out it is cleaner without multiple
inheritance.

>   * Whether we want to use it or not, I would like to think about how
>     to implement it due to academical curiousity.

Quite complex. Conflicting methods and properties have to be taken care
of, I still don't know how this is done in C++! 

>  (* And: C++ has it, and we must demonstrate that GPC is not inferior. ;*)

Not having it IMHO is a demonstration of superiority. ;-)

Both Oberon and Modula-3 have been used to build extremely complex
operating systems and windowing libraries (in Modula-3's case, a fabulous
multithreaded system that literally kicks the ass of any C++ windowing
toolkit you have ever seen!), all *without* multiple inheritance.

Pierre Phaneuf

"The use of COBOL cripples the mind; its teaching should, therefore, be
regarded as a criminal offense." - Edsger W. Dijkstra.


Pierre Phaneuf (pp@dilu.ml.org)

HTML conversion by Lluís de Yzaguirre i Maura
Institut de Lingüística Aplicada - Universitat "Pompeu Fabra"
e-mail: de_yza@upf.es