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