[Newbies] Subclasses in Squeak

Levente Uzonyi leves at elte.hu
Thu Nov 21 00:14:14 UTC 2013


On Wed, 20 Nov 2013, Azka Niazi wrote:

> What is the significance of using methods given below for the class classBuilder, which in effect are used for creating subclasses of these different categories? Meaning, is there something dramatic about
> making these different types of subclasses instead of just simply having something like a generic subclass only? 

These methods define the type of variables the instances of these 
subclasses will have. Most of these are rarely used, but all of them are 
necessary to make the system (with its current features) work.

> superclass: t1 subclass: t2 instanceVariableNames: t3 classVariableNames: t4 poolDictionaries: t5 category: t6

Only named variables.

> 
> superclass: t1 variableByteSubclass: t2 instanceVariableNames: t3 classVariableNames: t4 poolDictionaries: t5 category: t6

Named variables and variable number of indexable bytes. E.g.: ByteArray, 
ByteString

> 
> superclass: t1 variableSubclass: t2 instanceVariableNames: t3 classVariableNames: t4 poolDictionaries: t5 category: t6 

Named variables and variable number of indexable slots referencing 
objects. E.g.: Array, MethodDictionary

> 
> superclass: t1 variableWordSubclass: t2 instanceVariableNames: t3 classVariableNames: t4 poolDictionaries: t5 category: t6 

Named variables and variable number of indexable slots referencing words 
(32-bit integers). E.g.: LargePositiveInteger, Float, WordArray, 
WideString

> 
> superclass: t1 weakSubclass: t2 instanceVariableNames: t3 classVariableNames: t4 poolDictionaries: t5 category: t6 

Named variables and variable number of slots having weak references. E.g.: 
WeakArray. In Squeak this is the only way to create weak references to 
objects.


Levente

> 
> 
>


More information about the Beginners mailing list