logo       

Re: Adding instance variables during runtime: msg#00066

lang.smalltalk.squeak.beginners

Subject: Re: Adding instance variables during runtime

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
>


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise