From: "Jean-Pierre Rosen" <rosen@adalog.fr>
Subject: Re: MI ammunition : linked lists
Date: Thu, 6 Nov 2003 18:16:35 +0100
Date: 2003-11-06T18:16:35+01:00 [thread overview]
Message-ID: <qmvdob.nju.ln@skymaster> (raw)
In-Reply-To: mailman.293.1068136383.25614.comp.lang.ada@ada-france.org
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1209 bytes --]
"amado.alves" <amado.alves@netcabo.pt> a �crit dans le message de news:mailman.293.1068136383.25614.comp.lang.ada@ada-france.org...
>A very common programming task where multiple inheritance (MI) would be
>handy: implementation of doubly linked lists.
[snip]
> type Middle_Node is new First_Node with Last_Node;
I would take this as a typical example of abuse of MI.
Inheritance should reflect an "is a" relationship. Do you fill comfortable stating that a middle node is a first node and a last
node at the same time?
>But, semantically, MI would allow conversions between Middle_Node and any the other two extended types. >Whether this would be
useful for linked lists remains to be ascertained. I confess I have not implemented them this >way yet.
So you trade checking a null value for checking a node belonging to a certain class, with a number of extra conversions required....
My advice would be: use MI (and SI as well) IF AND ONLY IF it makes things simpler.
Don't bother if people tell you that you are not "purely object oriented" ;-)
--
---------------------------------------------------------
J-P. Rosen (rosen@adalog.fr)
Visit Adalog's web site at http://www.adalog.fr
next prev parent reply other threads:[~2003-11-06 17:16 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-11-06 16:32 MI ammunition : linked lists amado.alves
2003-11-06 16:46 ` Stephen Leake
2003-11-06 17:15 ` Frank J. Lhota
2003-11-08 10:27 ` Dmitry A. Kazakov
2003-11-06 17:16 ` Jean-Pierre Rosen [this message]
2003-11-06 18:15 ` Wes Groleau
2003-11-06 21:03 ` Simon Wright
2003-11-07 10:39 ` Dmitry A. Kazakov
2003-11-07 10:29 ` Dmitry A. Kazakov
2003-11-10 14:51 ` Lutz Donnerhacke
2003-11-10 17:52 ` Marius Amado Alves
2003-11-11 9:32 ` Lutz Donnerhacke
2003-11-11 12:24 ` Marius Amado Alves
2003-11-11 12:58 ` Lutz Donnerhacke
2003-11-11 16:09 ` Robert I. Eachus
2003-11-11 17:11 ` Marius Amado Alves
2003-11-12 9:21 ` Lutz Donnerhacke
-- strict thread matches above, loose matches on Subject: below --
2003-11-06 17:26 amado.alves
2003-11-06 17:33 amado.alves
2003-11-06 19:01 amado.alves
2003-11-11 18:38 ` Georg Bauhaus
2003-11-11 21:27 ` Marius Amado Alves
2003-11-12 0:23 ` Georg Bauhaus
2003-11-12 11:29 amado.alves
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox