comp.lang.ada
 help / color / mirror / Atom feed
From: stt@houdini.camb.inmet.com (Tucker Taft)
Subject: Re: Java interfaces -> ADA
Date: 1999/04/19
Date: 1999-04-19T00:00:00+00:00	[thread overview]
Message-ID: <FAG1B7.1no.0.-s@inmet.camb.inmet.com> (raw)
In-Reply-To: 371B270E.19DC@lifl.fr

Emmanuel.Leguy (leguy@lifl.fr) wrote:

: > I guess since an interface says simply that a class that implements it
: > needs to supply those methods, then in Ada, you would have a number
: > of abstract methods for the tag record, and then any one who
: > extends this record, will need to implement those methods since they
: > are abstract.
: > 
: But a java class can inherit more than one interface... The multiple
: inheritance is not permit in ADA.

Ada 95 supports multiple inheritance through a number of building
block mechanisms, including generic "mix-ins" and through the
use of access discriminants.  You are correct that there is no specific
syntax for multiple inheritance, but there are a number of
flexible mechanisms that allow type multi-hierarchies to
be supported.

In our mapping of Ada to/from Java, we use components to implement
Java interfaces.  See http://www.averstar.com/~stt/adajava_paper/
In this case, the compiler helps out by providing a Convention
"Java_Interface."  However, much the same thing can be accomplished
using components each with an access discriminant default initialized
to refer to the enclosing object.  A paper I wrote discussing this approach 
to multiple inheritance is on http://www.adahome.com, I believe.

: --
: Laboratoire d'Informatique Fondamentale de Lille (LIFL)
: Universite des Sciences et Technologies de Lille
: Batiment M3 Cite Scientifique
: 59655 Villeneuve d'Ascq Cedex
: FRANCE
: tel: 03 20 33 63 38
: fax: 03 20 43 65 66
: mailto:Emmanuel.Leguy@lifl.fr
: http://www.lifl.fr

--
-Tucker Taft   stt@averstar.com   http://www.averstar.com/~stt/
Technical Director, Distributed IT Solutions  (www.averstar.com/tools)
AverStar (formerly Intermetrics, Inc.)   Burlington, MA  USA




      reply	other threads:[~1999-04-19  0:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-04-19  0:00 Java interfaces -> ADA Emmanuel.Leguy
1999-04-19  0:00 ` bob
1999-04-19  0:00   ` Emmanuel.Leguy
1999-04-19  0:00     ` Tucker Taft [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox