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,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public From: "Norman H. Cohen" Subject: Re: OO, C++, and something much better! Date: 1997/01/27 Message-ID: <32ECE08B.21D2@watson.ibm.com>#1/1 X-Deja-AN: 212753557 references: content-type: text/plain; charset=us-ascii organization: IBM Thomas J. Watson Research Center mime-version: 1.0 reply-to: ncohen@watson.ibm.com newsgroups: comp.lang.eiffel,comp.lang.ada,comp.lang.c++,comp.lang.smalltalk,comp.object x-mailer: Mozilla 3.0 (Win95; I) Date: 1997-01-27T00:00:00+00:00 List-Id: James O'Connor wrote: > There are subtle differences between 'type', 'interface', and 'class' > and the terms get used somewhat interchangebly around here. ... > Ada95 (I think) uses the term type to mean a type of data tructure, the > type-and-package become what others call a class and the term 'Class' > means a family of types (I think this is right...). Almost right. An Ada type can be (either publically or privately) a null record that exists to be extended. In that case, the type is not really a data structure, but (in conjunction with the subprograms provided by its package) an interface. Like a Java class, an Ada type can be declared "abstract", meaning that it exists for the purpose of declaring a common interface for all the types that will be derived from it, but that no objects of that type itself will ever exist. The operations declared for an abstract type need not have implementations (although the corresponding operations of nonabstract descendants must). -- Norman H. Cohen mailto:ncohen@watson.ibm.com http://www.research.ibm.com/people/n/ncohen