From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: ** X-Spam-Status: No, score=2.1 required=5.0 tests=BAYES_05,INVALID_DATE, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!cs.utexas.edu!ginosko!samsung!ctrsol!IDA.ORG!baker From: baker@IDA.ORG (Paul Baker) Newsgroups: comp.lang.ada Subject: Re: Does Ada really need MULTIPLE inheritance? Message-ID: <1989Oct30.171259.28325@IDA.ORG> Date: 30 Oct 89 17:12:59 GMT References: <8910161521.AA27039@ajpo.sei.cmu.edu> <503@h.cs.wvu.wvnet.edu> Reply-To: baker@IDA.ORG.UUCP (Paul Baker) Organization: IDA, Alexandria, VA List-Id: >>From article <8910161521.AA27039@ajpo.sei.cmu.edu>, > by NCOHEN@IBM.COM ("Norman H. Cohen"): > Since nobody at either workshop was a strenuous advocate of multiple > inheritance, I would like to see the argument for multiple inheritance I attended one of these workshops and didn't advocate multiple inheritance. The response to Norm's remark on this network seems to be based on the notion that the power of multiple inheritance was overlooked at these workshops. If my memory serves, the issue on the table was the value of this feature in the context of its dangers and the fact that it is not essential for OOP. Its power was recognized. The danger is that there is currently no rigorous notion of how we shall interpret the fusion of methods from alternative lineages. CLOS offers a fixed and reasonable interpretation of the order of delegation but the order is not based on any convincing metaphor. In the face of this problem, it will be difficult to teach design for multiple inheritance and hard for one developer to maintain another's system. Multiple inheritance is not essential because its effects can be achieved by defining a new class whose slots include components from various classes. The developer must then define all the new methods - none are inherited automatically. Naturally, that new definition can be a delegation to one of the ancestor classes. Thus, composition achieves the same functional effect as inheritance but requires an explicit explanation of the intended fusion of methods. ---------- Paul L. Baker CTA INCORPORATED E-MAIL: bakerp@ajpo.sei.cmu.edu PHONE: 301-816-1242