From: Jean-Pierre Rosen <rosen@adalog.fr>
Subject: Re: Constructing an object
Date: Fri, 30 Sep 2005 10:14:47 +0200
Date: 2005-09-30T10:14:47+02:00 [thread overview]
Message-ID: <k5sihd.ei2.ln@hunter.axlog.fr> (raw)
In-Reply-To: <vNWdnUoV7Ptv-qHeRVn-vw@megapath.net>
Randy Brukardt a �crit :
> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
>>They aren't extensible in the sense that you can only override or inherit.
>>It is too dangerous for constructors and assignments. BTW, Ada does not to
>>completely override them anyway. For example the parts responsible for
>>initialization of the components cannot be overridden. One cannot have a
>>task component which will not start because Initialize does not call the
>>parent's one! (:-))
>
>
> Ah, I see. Certainly you are right here. I see that a lot in Finalize
> routines; it is real easy to forget to call the Finalize for the parent
> type. There ought to be a better way of extending rather than replacing
> routines; that's especially true since requires an explicit type conversion
> to the parent to make that call, and it is easy to get wrong (and go
> infinitely recursive).
>
I think CLOS has such a feature, but it raises an issue:
sometimes you want to call the parent Finalize *before* your own
Finalize, sometimes *after*. If it is automatic, you must force one of
them, which makes problems if you want the other one.
--
---------------------------------------------------------
J-P. Rosen (rosen@adalog.fr)
Visit Adalog's web site at http://www.adalog.fr
next prev parent reply other threads:[~2005-09-30 8:14 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-21 8:46 Constructing an object Maciej Sobczak
2005-09-21 10:16 ` Georg Bauhaus
2005-09-22 7:21 ` Maciej Sobczak
2005-09-21 11:55 ` Dmitry A. Kazakov
2005-09-22 7:28 ` Maciej Sobczak
2005-09-22 7:45 ` Maciej Sobczak
2005-09-22 13:33 ` Dmitry A. Kazakov
2005-09-24 5:23 ` Randy Brukardt
2005-09-24 9:47 ` Dmitry A. Kazakov
2005-09-29 0:12 ` Randy Brukardt
2005-09-29 8:17 ` Dmitry A. Kazakov
2005-09-29 22:21 ` Randy Brukardt
2005-09-30 8:14 ` Jean-Pierre Rosen [this message]
2005-09-30 19:28 ` Dmitry A. Kazakov
2005-09-30 17:49 ` Robert A Duff
2005-10-01 0:44 ` Randy Brukardt
2005-10-01 10:49 ` Dmitry A. Kazakov
2005-10-01 11:06 ` Tapio Kelloniemi
2005-10-01 14:13 ` Robert A Duff
2005-10-02 11:52 ` Tapio Kelloniemi
2005-10-01 15:19 ` Georg Bauhaus
2005-09-23 5:40 ` Matthew Heaney
2005-09-23 7:18 ` tmoran
2005-09-23 8:23 ` Maciej Sobczak
2005-09-23 12:04 ` Dmitry A. Kazakov
2005-09-23 12:36 ` Matthew Heaney
2005-09-23 13:03 ` Hyman Rosen
2005-09-23 13:41 ` Maciej Sobczak
2005-09-23 14:23 ` Matthew Heaney
2006-01-17 6:28 ` [Offtopic] " James Dennett
2005-09-23 13:42 ` Dmitry A. Kazakov
2005-09-23 14:27 ` Matthew Heaney
2005-09-23 12:24 ` Matthew Heaney
2005-09-24 5:34 ` Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox