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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: border1.nntp.dca.giganews.com!nntp.giganews.com!goblin2!goblin.stu.neva.ru!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: How to hide inherited implementation of a public interface? Date: Fri, 21 Mar 2014 14:54:54 +0100 Organization: cbb software GmbH Message-ID: <1alx2290srgwz$.fg1dxhbr9oq8.dlg@40tude.net> References: Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: I5Na6+WsEzT8WoegI0VZTA.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: number.nntp.dca.giganews.com comp.lang.ada:185262 Date: 2014-03-21T14:54:54+01:00 List-Id: On Fri, 21 Mar 2014 12:53:45 +0000 (UTC), Natasha Kerensikova wrote: > So is there a way to publicly provide I.T while privately inheriting > almost everything from A.T? Where is a problem? If I understand your example right, A.T publicly implements I.T. This sort of stuff is directly supported since Ada 95. Ada 95 inheritance is idempotent which includes Ada 2005 interfaces. You publicly derive from I.T and privately from its descendant A.T, due to idempotence declared and inherited I.Ts are considered same. Was this your concern? Not supported in Ada are delegation and additive inheritance (non-idempotent). -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de