Re: [Newbies] Overriding methods

2008-01-20 Thread Oscar Nierstrasz
Hi Blake, You should *never* *never* *never* override #basicNew! If fact, never override any #basic* methods. If you override them, then you can't get at them anymore. At some point you must actually create a new object, and the only way you can do this (well, the only reasonable way)

Re: [Newbies] Overriding methods

2008-01-20 Thread johnps11
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). Every time I get that kind of a

Re: [Newbies] Overriding methods

2008-01-20 Thread Bert Freudenberg
On Jan 20, 2008, at 4:45 , Blake wrote: For example, if I want to set up the contractless part of my object, I do so by overriding #basicNew, and then setting the values that allow the instance of the object to function. Isn't that what #initialize is for? Maybe I should be overriding

RE: [Newbies] Overriding methods

2008-01-20 Thread Ron Teitelbaum
Hi Blake, There are a number of ways to initialize an object. Overridding #new is an acceptable practice but normally this is done because you do not want a new object created. For example if you wanted to have only one instance of an object you might override #new to lookup your instance and

Re: [Newbies] Overriding methods

2008-01-20 Thread Blake
On Sun, 20 Jan 2008 04:37:17 -0800, [EMAIL PROTECTED] 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

Re: [Newbies] Overriding methods

2008-01-20 Thread Blake
On Sun, 20 Jan 2008 07:54:47 -0800, Ron Teitelbaum [EMAIL PROTECTED] wrote: Hi Blake, There are a number of ways to initialize an object. Overridding #new is an acceptable practice but normally this is done because you do not want a new object created. For example if you wanted to have