From: "Matthew Heaney" <mheaney@on2.com>
Subject: Re: Integers and Mathematical Correctness
Date: Wed, 31 Oct 2001 18:16:14 -0500
Date: 2001-10-31T18:16:14-05:00 [thread overview]
Message-ID: <tu11c0po9af57b@corp.supernews.com> (raw)
In-Reply-To: Ij%D7.47224$a14.5418893@news6-win.server.ntlworld.com
"chris.danx" <chris.danx@ntlworld.com> wrote in message
news:Ij%D7.47224$a14.5418893@news6-win.server.ntlworld.com...
> So when a new integer type is declared, a group of operators are created
for
> that type but their behaviour can be still be changed? Ok, I get it now!
Yes. This is the same inheritance model like any other OO language. In
general:
package P is
type T is <whatever>;
procedure Op (O : T);
...
end P;
package Q is
type NT is new T;
end;
At the point of declaration of Q.NT, operation Q.Op is implicitly declared.
It doesn't matter that the parent type in your example was
Standard.Integer -- the model is the same. Primitive operations of the
parent type are inherited by the derived type.
In the case of predefined types, you can "squirral away" (ha ha, Bob) a
predefined operator prior to overriding it:
package Q is
type My_Integer is new Integer;
function Predefined_Div (L, R: My_Integer) return My_Integer renames "/";
function "/" (L, R : My_Integer) return My_Integer; --override
end;
The saves you the trouble of having to convert back to the parent type in
the body, when you need the predefined behavior (here, for division).
next prev parent reply other threads:[~2001-10-31 23:16 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-10-31 20:27 Integers and Mathematical Correctness chris.danx
2001-10-31 21:21 ` David C. Hoos
2001-10-31 22:16 ` chris.danx
2001-10-31 22:47 ` David C. Hoos
2001-10-31 22:55 ` chris.danx
2001-10-31 23:16 ` Matthew Heaney [this message]
2001-10-31 21:42 ` Mark Johnson
2001-11-01 18:57 ` Mark Johnson
2001-11-01 14:32 ` Wes Groleau
2001-11-01 16:18 ` wilhelm.spickermann
2001-11-01 16:48 ` chris.danx
2001-11-01 15:45 ` Charles Sampson
2001-11-01 16:20 ` Marin David Condic
2001-11-03 17:02 ` Richard Riehle
2001-11-05 14:47 ` Marin David Condic
2001-11-06 3:53 ` Eric G. Miller
2001-11-06 4:28 ` James Rogers
2001-11-06 6:06 ` peter
2001-11-06 14:48 ` James Rogers
2001-11-06 15:54 ` Marin David Condic
2001-11-07 3:44 ` Eric G. Miller
2001-11-01 17:10 ` chris.danx
2001-11-01 17:52 ` Chad Robert Meiners
2001-11-01 19:02 ` chris.danx
2001-11-01 17:57 ` Wes Groleau
2001-11-03 14:57 ` Charles Sampson
2001-11-01 16:11 ` Charles Lindsey
2001-11-01 18:40 ` Wilhelm Spickermann
2001-11-01 19:18 ` chris.danx
2001-11-02 1:37 ` Steven Deller
2014-09-26 9:07 ` vincent.diemunsch
2014-09-26 16:38 ` Niklas Holsti
2014-09-26 16:58 ` AdaMagica
2014-09-26 17:51 ` Adam Beneschan
2014-09-27 9:01 ` AdaMagica
2014-09-27 10:15 ` AdaMagica
2014-09-27 16:32 ` Niklas Holsti
2014-09-27 16:49 ` Jeffrey Carter
2014-09-27 18:52 ` Niklas Holsti
2014-09-27 18:54 ` Adam Beneschan
2014-09-27 19:07 ` Adam Beneschan
[not found] ` <3489504a-f82b-4fec-8a6c-7cb91854dd1e@googlegroups.com>
2014-09-27 19:21 ` AdaMagica
2014-09-27 11:44 ` gautier_niouzes
2014-09-26 16:41 ` Adam Beneschan
2014-09-26 16:46 ` Adam Beneschan
2014-09-27 15:21 ` vincent.diemunsch
[not found] ` <34da5a39-9fa3-4e8e-a3f9-98f61a4ebcc7@googlegroups.com>
2014-09-28 7:47 ` Dmitry A. Kazakov
2014-09-29 14:58 ` Adam Beneschan
2014-09-29 16:25 ` Dmitry A. Kazakov
2014-10-01 19:48 ` vincent.diemunsch
2014-10-02 11:10 ` G.B.
2001-11-01 18:08 ` Tucker Taft
2001-11-01 18:54 ` David Starner
2001-11-01 21:44 ` Wilhelm Spickermann
2001-11-02 12:52 ` chris.danx
-- strict thread matches above, loose matches on Subject: below --
2001-10-31 22:42 Beard, Frank
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox