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? superclass: t1 subclass: t2 instanceVariableNames: t3 classVariableNames: t4 poolDictionaries: t5 category: t6 superclass: t1 variableByteSubclass: t2 instanceVariableNames: t3 classVariableNames: t4 poolDictionaries: t5 category: t6 superclass: t1 variableSubclass: t2 instanceVariableNames: t3 classVariableNames: t4 poolDictionaries: t5 category: t6 superclass: t1 variableWordSubclass: t2 instanceVariableNames: t3 classVariableNames: t4 poolDictionaries: t5 category: t6 superclass: t1 weakSubclass: t2 instanceVariableNames: t3 classVariableNames: t4 poolDictionaries: t5 category: t6
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
beginners@lists.squeakfoundation.org