[Newbies] Adding instance variables during runtime
Mathieu
mathk.sue at gmail.com
Tue Dec 12 05:40:45 UTC 2006
Look at Class>>addInstVarName:
Point addInstVarName: 'x'.
Warakorn Paphrawat a écrit :
> In my current little project I would like write classes in Smalltalk.
> However, when I am designing the classes I do not know, which instance
> variables the class should have.
>
> While I am running the application, the user (or another agent)
> determines which instance variables should be assigned to a class.
> How can I add instance variables and possibly class variables to a
> class, while the program is running ? Actually how can the Smalltalk
> code be automatically transformed (and "accepted") from the 'BEFORE'
> state to the 'AFTER' state.
>
> // BEFORE //
> Object subclass: #Class1
> instanceVariableNames: ''
> classVariableNames: ''
> poolDictionaries: ''
> category: 'some-category'
>
> // AFTER //
> Object subclass: #Class1
> instanceVariableNames: 'InstVar1 InstVar2 '
> classVariableNames: 'ClassVar1 ClassVar2'
> poolDictionaries: ''
> category: 'some-category'
>
> I worked with the ClassBuilder class, but I haven't achieved this kind
> of automated code transformation.
> Let's assume the desired variable names are available as normal strings
> and should be added one after another (method like:
> addNewInstanceVariable: aString ).
>
> Don't worry about getter/setter methods for the new instance variables,
> that's another issue.
>
>
> Thanks in advance
> Warakorn
>
More information about the Beginners
mailing list