Path: news.daimi.aau.dk!news.uni-c.dk!sunic!trane.uninett.no!nac.no!eunet.no!nuug!EU.net!Germany.EU.net!ascom.de!Aachen.Germany.EU.net!rmi.de!sun2.cadis.de!ipx3.cadis.de!not-for-mail From: graulich@cadis.de (Robert Graulich) Newsgroups: comp.lang.beta,comp.lang.eiffel,comp.object Subject: Re: On why BETA does not have multiple inheritance Date: 25 Sep 1994 17:46:41 +0100 Organization: Cadis GmbH Lines: 32 Message-ID: <3649hh$9cd@ipx3.cadis.de> References: <358nrv$bpf@engnews2.Eng.Sun.COM> <35jb33$3q1@engnews2.Eng.Sun.COM> <35rmil$le7@ipx3.cadis.de> NNTP-Posting-Host: ipx3.cadis.de Xref: news.daimi.aau.dk comp.lang.beta:109 comp.lang.eiffel:6261 comp.object:19584 nash@dutllu4.gmd.de (Naresh Sharma) writes: >Not so, composition and inheritance are orthogonal abstraction mechanisms, >and one can model a MI concept using composition+inheritance, like that >shown by you. The model may be practical for your specific app, but that's >about it! It will definitely *not* be conceptually sound in the global sense. >What OleLM is trying to point out is that it is not necessary *FOR MOST* >programs to have true MI with all the hassles of conflict addressing, >name resoultion, structure flattening etc.etal., for them to implement >MI in beta. >In C++ you *must* use composition+inheritance for simulating a concept that >is actually MI, there is one difference that to have real MI in C++ will be >near impossible (if not impossible). Perhaps you give me a simple example? What is the abstract idea that I can't implement with C++? >There is no mechanism that can allow you to inherit from part-objects once >only the composition is available in C++ but that's not true in case of beta. >This means (correct me if I'm wrong) that the abstraction of beta can simulate >MI much better than that of C++. Please correct me if I'm wrong, but if I have a composition of parts, I also have the parts. I don't need the source code of the parts, only the headers and the library. >Naresh >-- Robert