Re: abstract sub programs overriding
From: Hyman Rosen (hyrosen_at_mail.com)
Date: 03/11/04
- Next message: antonio: "distribution feature not supported"
- Previous message: Preben Randhol: "Re: A bug in Gnat, or in my code?"
- In reply to: Dmitry A. Kazakov: "Re: abstract sub programs overriding"
- Next in thread: Dmitry A. Kazakov: "Re: abstract sub programs overriding"
- Reply: Dmitry A. Kazakov: "Re: abstract sub programs overriding"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Thu, 11 Mar 2004 10:40:02 -0500
Dmitry A. Kazakov wrote:
> No, this is just a contract model.
Between what parties?
> These are different things - to have a bad design or to have a good
> one, but poorly coded one.
You want your language to help you catch the poor coding. That's why
Ada catches bounds errors, for example.
> You cannot do it right if the language does not support object
> construction properly.
The concept of two-phase initialization is a backward step in OO.
The paradigm of C++'s *tor mechanism is that other methods don't
ever need object validity checks, because constructors make the
object kosher.
> I tried to show that the source of the problem is that to construct T
> /= to construct T'Class.
This makes no sense. A general object, in the OO world, may have each
derived class require services from its base class, even during object
construction. Bases may need to invoke services from derived classes,
such as in the template method design pattern. When the latter is
invoked from the former, problems arise. I have no idea what this has
to do with being classwide or not.
- Next message: antonio: "distribution feature not supported"
- Previous message: Preben Randhol: "Re: A bug in Gnat, or in my code?"
- In reply to: Dmitry A. Kazakov: "Re: abstract sub programs overriding"
- Next in thread: Dmitry A. Kazakov: "Re: abstract sub programs overriding"
- Reply: Dmitry A. Kazakov: "Re: abstract sub programs overriding"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|