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

Marcin Tustin mm3 at zepler.net
Thu Jul 3 15:45:15 UTC 2008


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20080703/a8d91610/attachment.htm


More information about the Beginners mailing list