logo       

Re: Overriding methods: msg#00092

lang.smalltalk.squeak.beginners

Subject: Re: Overriding methods

On Sun, 20 Jan 2008 04:37:17 -0800, <johnps11@xxxxxxxxxxx> wrote:

Hi Blake!

I've yet to find a situation where I can't put the code that would be in a constructor in C++ into #initialize. I suppose there are situations where that would be a bad idea, but I just haven't met them, or else I'm doing
bad things (very likely).

In the abstract, I'd say if the class knows something the instance shouldn't.

Every time I get that kind of a warning I treat it as a 'is there a better way?' flag. It'd be great if one of the non-newbies on this list could
explain when (or why) it is a better idea to override #new rather than
instantiate fields in #initialize or via lazy initialization.

Yeah, I think that's why the warning is there. And I understand it (sorta) for #basicNew.

It just seems kind of hyper for #new. I guess it's because #new is obliged (sorta) to call #initialize, and this is not a universal Smalltalk tradition.

===Blake===


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

News | FAQ | advertise