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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,b5b75c5bf3ae7291 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1995-03-09 21:52:31 PST Path: bga.com!news.sprintlink.net!cs.utexas.edu!swrinde!gatech!udel!news.mathworks.com!mvb.saic.com!buckie.ucha!tali.hsc.colorado.edu!boulder!news.coop.net!news.den.mmc.com!iplmail.orl.mmc.com!usenet Newsgroups: comp.lang.ada Subject: Re: Implement Inheritance (Ada83)? Message-ID: <3jkbep$d3f@theopolis.orl.mmc.com> From: "Theodore E. Dennison" Date: 8 Mar 1995 13:28:57 GMT References: <3jiala$kqs@explorer.csc.com> Organization: IPL InterNetNews site NNTP-Posting-Host: payday.orl.mmc.com Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 7bit X-URL: news:3jiala$kqs@explorer.csc.com Date: 1995-03-08T13:28:57+00:00 List-Id: Jeff Seigle writes: > In article <3jhj04$2dv@gnat.cs.nyu.edu> dewar@cs.nyu.edu (Robert Dewar) writes: > >....Inheritance is a conceptual idea, not a > >syntactic gizmo. ...you can perfectly well implement' > >the fundamental abstraction mechanism that we call inheritance in ANY > >language! > > Although this statement is true, the best results are had when the language > has exlicit in its fabric the concepts that you are using to design your .. > constrained by the language. The big negative is that once the code is > written there is no enforcement of your wonderful ideas, and the next > one to come along with a mod can stomp down all of your imaginary fences. True enough. But in Ada 83 the only thing that is really missing is dynamic dispatching. The other major advantages to OO can be achieved with nested records and generics. Type extension can be achieved by making the "parent type" a record field in the child type. "Inheritance" is sort of automatic (just pass the parent field to its routines. Static dispatching can be achieved via overloading. Dynamic dispatching ... SOL. Creation and deletion methods ... SOL (although there are things you can do to "force" creation). T.E.D.