[Newbies] Changing superclass doesn't "work automatically"

David Zmick dz0004455 at gmail.com
Thu Jul 3 17:14:03 UTC 2008


yes, i think its right :)

On Thu, Jul 3, 2008 at 1:13 PM, David Zmick <dz0004455 at gmail.com> wrote:

> It seems to me anObslote.. class appears when you delete a class, and it is
> still registered somewhere, still has an instance.
>
> You have a root component called WAComponent, and it is registered with
> seaside as an application.  You delete the class, but not the application,
> the application will no longer have WAComponent as its root component, but
> it will be anObsoleteWAComponent.
>
> Is that correct?
>
>   On Thu, Jul 3, 2008 at 11:45 AM, Marcin Tustin <mm3 at zepler.net> wrote:
>
>> So, this was unexpected behaviour? Certainly the way that Bert describes
>> appears to be what happened in my workspace-based tests.
>>
>>  On 7/3/08, Bert Freudenberg <bert at freudenbergs.de> wrote:
>>
>>> Am 03.07.2008 um 05:27 schrieb Randal L. Schwartz:
>>>
>>>    "Marcin" == Marcin Tustin <mm3 at zepler.net> writes:
>>>>>>>>>
>>>>>>>>
>>>> Marcin> I recently came across a piece of behaviour which is (sort of)
>>>> Marcin> understandable, but I wonder if it is how it is supposed to
>>>> happen or
>>>> Marcin> not. I was running through the potsdam seaside tutorial, and I
>>>> change
>>>> Marcin> the superclass of one of the objects from Object to WAComponent,
>>>> and
>>>> Marcin> accepted the change. All the browser tools treated the class as
>>>> if its
>>>> Marcin> protocol included the messages of WAComponent, but running code
>>>> that
>>>> Marcin> sent WAComponent messages signaled MessageNotUnderstood.
>>>>
>>>> Are you sure you weren't dealing with a previous instance of your old
>>>> class?
>>>> I think this kind of a change forks the class def so that new instances
>>>> have
>>>> the new superclass, but old instances still have the old class and old
>>>> superclass (anObsoleteYourClassnameHere).
>>>>
>>>> I could be wrong, but tI think that's how it works.
>>>>
>>>
>>>
>>> Smalltalk does not work that way. If the class format changed, all
>>> existing instance are bulk-migrated to the new class (by creating new
>>> instances and doing a forward-become on all of them).
>>>
>>> - Bert -
>>>
>>>
>>> _______________________________________________
>>> Beginners mailing list
>>> Beginners at lists.squeakfoundation.org
>>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>>>
>>
>>
>> _______________________________________________
>> Beginners mailing list
>> Beginners at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>>
>>
>
>
> --
> David Zmick
> /dz0004455\
> http://dz0004455.googlepages.com
> http://dz0004455.blogspot.com




-- 
David Zmick
/dz0004455\
http://dz0004455.googlepages.com
http://dz0004455.blogspot.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20080703/c83ad268/attachment-0001.htm


More information about the Beginners mailing list