Newsgroups: comp.lang.smalltalk,comp.lang.c++,comp.lang.java,comp.object
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!newsfeed.pitt.edu!godot.cc.duq.edu!newsgate.duke.edu!news.mathworks.com!newsfeed.internetmci.com!swrinde!howland.reston.ans.net!blackbush.xlink.net!slsv6bt!news
From: kanze@lts.sel.alcatel.de (James Kanze US/ESC 60/3/141 #40763)
Subject: Re: Dynamic vs. static type checking
In-Reply-To: "Daniel J. Hutzel"'s message of Mon, 15 Jul 1996 10:58:43 +0200
Message-ID: <KANZE.96Jul16223131@slsvgqt.lts.sel.alcatel.de>
Lines: 42
Sender: news@lts.sel.alcatel.de
Organization: GABI Software, Sarl.
References: <4qrjrl$e7s@piglet.cc.uic.edu> <4qs63q$13aa@piglet.cc.uic.edu>
	<4qsg8q$638@news.internetmci.com> <4qtbcp$jr9@mirv.unsw.edu.au>
	<4qtf7d$t5k@mag3.magmacom.com> <4r43qt$uhi@piglet.cc.uic.edu>
	<4r4hg4$jlk@piglet.cc.uic.edu> <4r4jpu$83g@blackice.winternet.com>
	<31D6F290.311D@concentric.net> <4r8k04$9oa@narses.hrz.tu-chemnitz.de>
	<31D90B52.7ACE@iitb.fhg.de> <31de1a2f.7993373@news.teleport.com>
	<31E25FCF.53AA@iitb.fhg.de> <31E50EB5.3C14@micron.com>
	<4saq9u$k3s@epx.cis.umn.edu> <31EA0843.E4@iitb.fhg.de>
Date: 16 Jul 1996 20:31:31 GMT
Xref: glinda.oz.cs.cmu.edu comp.lang.smalltalk:40874 comp.lang.c++:200462 comp.lang.java:68853 comp.object:52115

In article <31EA0843.E4@iitb.fhg.de> "Daniel J. Hutzel"
<hutzel@iitb.fhg.de> writes:

|> Dr. Randal J. Barnes wrote:
|> >
|> > [...]
|> > 
|> > While I can not speak about Java with any expertise, I disagree with
|> > you basic premise.  Multiple inheritance is absolutely a reflection of
|> > the real world, and becasue of this it is a powerful conceptual model
|> > -- with appropriate terminology.  For example, my wife "is a" human
|> > being, "is a" female, and "is a"n engineer.  My daughter "is a"
|> > student, "is a" basketball player, and "is a"n employee of my company.
|> > Etc.  Stating that "there remains one single path of real inheritance
|> > which tell about what an object really is" indicates a world view that
|> > I don't comprehend.

|> I'm not really convinced about your view on things in real world. If I'd take the categorisation and 
|> class system of biology as a reference model (which by the way goes back to Aristotle in ancient times, 
|> where no computers confused our mind), I could change your family's inheritance tree as follows:

|> Your wife *is a* human being, more specifically she *is a* female. ('Females' is a subclass of 'Human 
|> Beings', who would deny this?!).

I would.  I once had a cat that was female.  Some human beings are
female, and some females are human beings.  But neither is a subclass of
the other.

On the other hand, I'm not sure how relevant this is to the argument at
hand.  I tend to use multiple inheritance a lot in C++; I've never had
the impression that there is one main line of inheritance, but then,
I've never looked for it.

Actually, I could site several cases where there definitly wasn't a main
line of inheritance, but they are all examples of multiple inheritance
of implementation (mixin technique) and not of interface.
-- 
James Kanze         Tel.: (+33) 88 14 49 00        email: kanze@gabi-soft.fr
GABI Software, Sarl., 8 rue des Francs-Bourgeois, F-67000 Strasbourg, France
Conseils, tudes et ralisations en logiciel orient objet --
                -- A la recherche d'une activit dans une region francophone

