Stupid Question?

Jason Johnson jason.johnson.081 at gmail.com
Wed Jan 16 17:41:34 UTC 2008


new calls initialize.

On Jan 16, 2008 6:25 PM, Richard Eng <richard.eng at rogers.com> wrote:
> I'm not finding this to be true. I have a class #GSAssignmentList. It has
> instance variable #clientId and accessor #clientId:. I do the following:
>
>     self call: (GSAssignmentList new clientId: aValue)
>
> In the #initialize method for GSAssignmentList, I write to the Transcript:
>
>     Transcript cr; show: 'RKE: clientId = ', clientId asString.
>
> It shows 'nil'.
>
> In #renderContentOn:, I write to the Transcript and get aValue, as expected.
> This is contrary to what you're telling me *if* the object is created with
> #clientId = aValue *before* #initialize starts to execute.
>
> You see, I need the value of aValue in order for #initialize to complete.
>
> Regards,
> Richard
>
> ----------------
>
> Zulq Alam wrote:
>
> Hi Richard,
>
> The instance variables and methods, including accessors, exist when the
> object is created. They do not depend on the initialize method. Thus you
> can access any instance variable or call any defined method, such as
> accessors, at any time after creation. Whether they have a value or
> return anything useful depends on your object and how you *chose* to
> initialize it.
>
> The use of #initialize is a convention to set-up object state *after*
> the object has been created.
>
>
>
>



More information about the Squeak-dev mailing list