From: Dennis Hoppe <dennis.hoppe@hoppinet.de>
Subject: Interface specification in Ada
Date: Wed, 11 Jun 2008 14:46:38 +0200
Date: 2008-06-11T14:46:38+02:00 [thread overview]
Message-ID: <g2ohff$f3v$1@aioe.org> (raw)
Hi,
my preferred programming language is Java and I'm used to declare in an
interface some common methods, that all subclasses have to implement.
For example:
interface Bicycle {
void changeCadence(int newValue);
void changeGear(int newValue);
void speedUp(int increment);
void applyBrakes(int decrement);
}
class RacingBicycle implements Bicycle {
// remainder of this class implemented as before
}
If I accidentially implement RacingBicycle without providing the four
methods mentioned above, the compiler would draw attention to this
situation.
In Ada, i found the keyword "interface" only in the context of multiple
inheritance. The usage would be:
package Bicycle is
type Object is interface;
procedure changeCadence (newValue : in Integer) is abstract;
procedure changeGear (newValue : in Integer) is abstract;
procedure speedUp (increment : in Integer) is abstract;
procedure applyBrakes (decrement : in Integer) is abstract;
end Bicycle;
with Bicycle;
package RacingBicycle is
type Object is new Bicycle.Object with null record;
-- omitted needed procedures to raise an error
end RacingBicycle;
Unfortunately, the build process runs through without any errors. In
this case, I want the compiler to notify me about missing procedure
implementations, because they are declared abstract in the interface.
I think, I missed something in the hierarchy, but I don't see it.
Thank you in advance,
Dennis Hoppe
next reply other threads:[~2008-06-11 12:46 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-11 12:46 Dennis Hoppe [this message]
2008-06-11 13:04 ` Interface specification in Ada christoph.grein
2008-06-11 15:02 ` Georg Bauhaus
2008-06-11 16:34 ` Robert A Duff
2008-06-11 21:23 ` Dennis Hoppe
2008-06-12 8:37 ` Georg Bauhaus
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox