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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!mx05.eternal-september.org!.POSTED!not-for-mail From: Jeffrey Carter Newsgroups: comp.lang.ada Subject: Re: Is this expected behavior or not Date: Fri, 12 Apr 2013 10:00:26 -0700 Organization: Also freenews.netfront.net; news.tornevall.net Message-ID: References: <1gnmajx2fdjju.1bo28xwmzt1nr.dlg@40tude.net> <3gv2jwc95otm.pl2aahsh9ox8.dlg@40tude.net> <1gkxiwepaxvtt$.u3ly33rbwthf.dlg@40tude.net> <1fmcdkj58brky.bjedt0pr39cd$.dlg@40tude.net> <1bj564vat3q1j$.1s4d00rlzx4ux$.dlg@40tude.net> <8bj2k30k7i19.w7ehsldwbf7x.dlg@40tude.net> <1o34nhpfuy6yl$.2orlukd1elr7.dlg@40tude.net> <1k6lte6wjoer9.1kwm2g83k3gwy$.dlg@40tude.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Fri, 12 Apr 2013 16:57:46 +0000 (UTC) Injection-Info: mx05.eternal-september.org; posting-host="656ea2f23126f57fb36504d2d15a002c"; logging-data="9182"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/SXESJHicFHh3CgJAH7RP0UCLVz4aqTyQ=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 In-Reply-To: Cancel-Lock: sha1:Oz6uFrG+fdCdmcvFWO+RNR2ZqEA= Xref: news.eternal-september.org comp.lang.ada:14974 Date: 2013-04-12T10:00:26-07:00 List-Id: On 04/12/2013 02:09 AM, J-P. Rosen wrote: > > I just said that the commonly accepted meaning of inheritence is > specialization, where the upper level classes are more general and the > lower ones are more specialized. I agree that inheritance has its own > problems - that's why I use it rarely, I prefer composition. While it's true that many proponents of type extension claim they're creating specialization classifications, starting with general classes and extending them to create more specialized ones, it's also demonstrably wrong in most cases: It's a rare specialization classification in which the more specialized classes need more data than the more general ones. In classifying plane figures, for example, the general classes (such as "polygon") clearly need more data in their representations than the specialized classes (such as "square"). Type extension starts with abstract classes, and extends them to create more concrete ones, a fact that Ada recognizes with its "abstract" reserved word. -- Jeff Carter "Why, the Mayflower was full of Fireflies, and a few horseflies, too. The Fireflies were on the upper deck, and the horseflies were on the Fireflies." Duck Soup 95