On Monday 28 June 2004 05:45, Patrick May wrote:
> Sean,
>
> On Monday, June 28, 2004, at 01:07  AM, Sean O'Dell wrote:
> >> If an object of SomeClass becomes a Tempfile (or any other class with
> >> significant internal state), which class is responsible for the
> >> initialization work?
> >
> > The class that created the object should have already initialized it.
> > Initialization is part of object creation, usually.
>
> So, SomeClass is responsible for initializing an object not only for
> its own purposes, but also for Tempfile's purposes?
>
> How does SomeClass know that you'll want to change the object's class
> to a Tempfile, and not a Net::HTTP?
>
> Do you see how this absurdity is the logical outcome of your statement?

I think you're not understanding what class= does.

All class= does is change an existing object's class.  The object already 
exists; it was already initialized and is ready for use.  All class= does is 
simply change the object's class.  All the initialized data is still there 
with the class; still initialized.  The object doesn't have to be initialized 
in any particular way.  The original class doesn't have to do any extra work 
at all; none.  All that happens is, the existing object's class is changed.  
A class is pretty much just a container of methods, so all you're really 
doing is changing all of the object's instance methods.  But the initialize 
method doesn't matter because the object already exists and doesn't need to 
be called again.

	Sean O'Dell