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: 103376,2ea02452876a15e1 X-Google-Attributes: gid103376,public From: donh@syd.csa.com.au (Don Harrison) Subject: Re: Real OO Date: 1996/03/22 Message-ID: #1/1 X-Deja-AN: 143672276 sender: news@assip.csasyd.oz references: organization: CSC Australia reply-to: donh@syd.csa.com.au newsgroups: comp.lang.ada Date: 1996-03-22T00:00:00+00:00 List-Id: In article , leschkes@ferret.cig.mot.com (Scott Leschke) writes: : :John G. Volan writes: : :>Of course it's prudent to be wary of generalization -- or rather, it's :>prudent to be wary of slavish devotion to generalization. What I should :>have said was: "If an operation isn't explicitly a primitive, then the :>default choice ought to be to make it classwide. Making it specific to :>the root type is still a possibility, but that choice should carefully :>reasoned, and the justifications for it should be documented." : :How does one declare syntactically that an operation is SPECIFIC to a :type within a class, as opposed to being either a primitive of that :type or class-wide? Assuming you mean 'specific to the root type of the class', by declaring the operation using the specific type (ie. without 'Class) somewhere else from the spec in which the type is declared. :I've also wondered if there was any way to explicitly declare an operation :as invariant within a class and hence, non-overridable. In Eiffel, you declare it as 'frozen'. Don't know whether Ada has an equivalent. :-- :Scott Leschke.........................email: leschkes@cig.mot.com :Motorola, Inc............................ph: 847-632-2786 :1501 W Shure Drive......................fax: 847-632-3145 :Arlington Heights, IL 60004......mailstop: 1301 Don.