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=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,953e1a6689d791f6 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,953e1a6689d791f6 X-Google-Attributes: gid103376,public From: donh@syd.csa.com.au (Don Harrison) Subject: Re: Eiffel and Java Date: 1996/11/12 Message-ID: #1/1 X-Deja-AN: 195953298 sender: news@syd.csa.com.au x-nntp-posting-host: dev11 references: <32821C82.2D32524D@sede.unijui.tche.br> organization: CSC Australia, Sydney reply-to: donh@syd.csa.com.au newsgroups: comp.lang.eiffel,comp.lang.ada Date: 1996-11-12T00:00:00+00:00 List-Id: Marcos F. F. de Macedo writes: :Jon S Anthony wrote: : :> Right. As was pointed out back in that old thread, to get at the :> "separate" spec/impl aspects in Eiffel you would use an "abstract :> class" technique. This doesn't quite work, but it is at least the :> proper analogue. Jon, don't know why you say this. I have some vague recollection of you talking about Sather's separate interface and implementation *inheritance*. But Ada doesn't even support that, so I'm not sure what you're thinking of. Please explain why you make this association. :The spec/impl is to separate the way that clients see the class :(interface) from actual code/structure. This is done in Eiffel by the :short tool. The short tool generates the interface to an eiffel class :with more spec. than is done in Ada. : :There is no need to write the interface if it could be stracted from the :source code. I should know that Ada was based on Modula-2 that used this :way of separating. Oberon, the sucessor of Modula-2, uses automatic :interface generating tool. I'm with you on this. Your point was raised in the "Real OO" thread Jon refers to. This is how I would 'match' these facilities in Ada and Eiffel: Ada Eiffel --- ------ abstract tagged type deferred class abstract operation deferred routine package interface (output of short tool) package body class Don. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Don Harrison donh@syd.csa.com.au