Though many of the comments have touched on the key points, you might find it useful to look at Kent Beck's Smalltalk Best Practice Patterns book which really covers this and other topics well. It's definitely not a stupid question and one has to think about the downstream implications of choosing an approach particularly wrt subclasses. Because of that I tend to use a variation of the initializeWith: approach that  looks something like: 
<br><br>materializeUsing: aDictionary<br><br>&nbsp;&nbsp;&nbsp; self beforeMaterializing: aDictionary.<br>&nbsp;&nbsp;&nbsp; self initializeUsing: aDictionary.<br>&nbsp;&nbsp;&nbsp; self afterMaterializing: aDictionary<br><br><br>In Object, beforeMaterializing: and afterMaterializing: do nothing and 
<br>initializeUsing: simply calls initialize. Having before and after hooks makes it easier to evolve the class. You can use this approach with many existing classes, though you may have to be careful to understand how a class&#39;s initialize really works. 
<br><br>Then on there are two class side methods, <br>
<br>
materializeUsing: aDictionary<br>
^self basicNew materializeUsing: aDictionary<br>
<br>
materialize<br>
^self materializeUsing: Dictionary new.<br><br><br>The actual code in my framework is slightly more complicated but not by much. There is some overhead but for me it&#39;s a small price to pay for the consistency and flexibility it buys.
<br><br>HTH,<br><br>Laurence<br><br><div class="gmail_quote">On Jan 16, 2008 8:46 AM, Richard Eng &lt;<a href="mailto:richard.eng@rogers.com">richard.eng@rogers.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I have a stupid question: &nbsp;How do you pass information into the #initialize<br>method at object creation time? You can&#39;t use any of the instance methods or<br>accessors because they don&#39;t yet exist! So how do you pass information in?
<br><br>Thanks,<br><font color="#888888">Richard<br><br><br><br></font></blockquote></div><br>