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,fa1a697e52242fbf X-Google-Attributes: gid103376,public From: falis@ma.aonix.com (Ed Falis) Subject: Re: What's class? Date: 1999/02/24 Message-ID: <1103_919865565@DZOG-CHEN>#1/1 X-Deja-AN: 447899640 Sender: news@sd.aonix.com (USENET News Admin @flash) X-Nntp-Posting-Host: 192.157.137.14 References: <7av8du$rjj$1@news.kornet.nm.kr> <7avvpf$pfl@drn.newsguy.com> Organization: Aonix, San Diego, CA, USA Newsgroups: comp.lang.ada Date: 1999-02-24T00:00:00+00:00 List-Id: On 23 Feb 1999 20:39:11 -0800, bill wrote: > > Since any type that extends a parent type, also inherits its operations, > then in this case, writing > > function is_full( stack: in bounded_stack'class) > and > function is_full( stack: in bounded_stack) > > > make no difference! > > correct? > > Bill. The difference is if you plan to allow a change to the representation or implementation of bounded_stack in its descendants, and expect to implement the "stack full" operation in terms of one or more alternate representations in the is_full function. The classwide operation could in many cases be implemented in terms of other dispatching operations specific to the descendants. Or, if you intend the descendants to provide their own implementations of the function in all cases, use the specific argument and declare the function as abstract. - Ed