in reply to Re: Leaving a constructor midway?
in thread OO: Leaving a constructor midway?
The constructor is a member function of a class. It is invoked every time an object is created. ...
I would add to the above that a constructor is a method by which a new object is created from whole cloth. It satisfies the need of the client to have a new instance of such-and-such a class.
By that definition, your Gonbagger methods one(), two(), and three() are all constructors, as is the lioger1 method from the second example. Gonbagger::four() is not a constructor because it doesn't construct anything. Neither is the lioger2() method.
The fact that bless is required to construct an object does not equate to bless being used solely for object construction.
package Foo; sub new { bless [], $_[0] } sub confuse { bless $_[0], 'ARRAY' }
Surely, you're not going to tell me that confuse() is using bless as a constructor?!? I don't care what it's doing in the innards of the interpreter - I am not using bless there to create a new object, hence confuse() is not a constructor.
------
We are the carpenters and bricklayers of the Information Age.
The idea is a little like C++ templates, except not quite so brain-meltingly complicated. -- TheDamian, Exegesis 6
... strings and arrays will suffice. As they are easily available as native data types in any sane language, ... - blokhead, speaking on evolutionary algorithms
Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Leaving a constructor midway?
by Abigail-II (Bishop) on Oct 22, 2003 at 15:38 UTC | |
|
Re: Re: Leaving a constructor midway?
by oylee (Pilgrim) on Oct 22, 2003 at 16:32 UTC |