Type casting a base class to a derived one?

Chris Mellon arkanes at gmail.com
Thu Jan 11 09:41:13 EST 2007


On 11 Jan 2007 15:01:48 +0100, Neil Cerutti <horpner at yahoo.com> wrote:
> On 2007-01-11, Frederic Rentsch <anthra.norell at vtxmail.ch> wrote:
> > If I derive a class from another one because I need a few extra
> > features, is there a way to promote the base class to the
> > derived one without having to make copies of all attributes?
> >
> > class Derived (Base):
> >    def __init__ (self, base_object):
> >       # ( copy all attributes )
> >       ...
> >
> > This looks expensive. Moreover __init__ () may not be available
> > if it needs to to something else.
> >
> > Thanks for suggestions
>
> How does it make sense to cast a base to a derived in your
> application?
>

I can't figure out any circumstance when you'd need to do this in
Python. Upcasting like this is something you do in statically typed
languages. I suspect that the OP doesn't really believe dynamic
casting works and doesn't want to pass a derived class for some
reason.



More information about the Python-list mailing list