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=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,46ee7e5bac018343 X-Google-Attributes: gid103376,public From: Tucker Taft Subject: Re: Ada features Date: 2000/01/28 Message-ID: <38922A67.393A8618@averstar.com>#1/1 X-Deja-AN: 578964106 Content-Transfer-Encoding: 7bit References: <86sinj$upb$1@netserv.univ-lille1.fr> X-Accept-Language: en Content-Type: text/plain; charset=us-ascii X-Complaints-To: usenet@inmet2.burl.averstar.com X-Trace: inmet2.burl.averstar.com 949103208 3138 141.199.8.164 (28 Jan 2000 23:46:48 GMT) Organization: AverStar (formerly Intermetrics) Burlington, MA USA Mime-Version: 1.0 NNTP-Posting-Date: 28 Jan 2000 23:46:48 GMT Newsgroups: comp.lang.ada Date: 2000-01-28T23:46:48+00:00 List-Id: Bertrand Augereau wrote: > > Hello, > > I would like to know if there are standard solutions for those 2 things in > Ada95 : > > 1) Introspection There is a new standard called "ASIS" which provides an API for extracting information from the Ada program library. However, this is not currently designed for use by a program on "itself," though it might work if you run the program on a machine where the program library is accessible at run-time. > 2) The equivalence of what is done in Java by : > class MVFramework > > class Model extends Object {...} > class View extends Object {...} > } > class MVSpreadsheetFramework extends MVFramework > > class Model {...} // Overrides class MVFramework.Model > class View {...} > } > > .i.e. overriding a nested class This sort of "overriding" is really just "hiding". There is no run-time dispatching with this kind of overriding in Java (or any other OOP that I know of). In Ada, you might use child packages to accomplish something like this, because the components of the enclosing package are visible within the children, but you can hide them with components declared locally within the child package. -- -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