|
Posted by ZeldorBlat on 07/25/07 02:33
On Jul 24, 9:58 pm, Sanders Kaufman <bu...@kaufman.net> wrote:
> Jerry Stuckle wrote:
> > Sanders Kaufman wrote:
> >>> If you want to "reset" the object, then you separate that out into its
> >>> own method and call it from the constructor -- similar to what you've
> >>> done with the Connect() method.
>
> >> It ain't good form to write redundant code.
> >> It's wasteful, inefficient, and is abhorrent to good OOP architecture.
> >> Indeed - the most powerful reason for using OOP is to be able to write
> >> a process once, and then to use it over and over and over, and in a
> >> variety of creative ways.
>
> >> Besides and again... my focus here is on not wasting resources
> >> unnecessarily.
>
> > Read what he said. There is no redundant code.
>
> All the code I need to initialize and reinitialize my class is in the
> constructor.
>
> class baseclass {
> var $Database;
> var $ErrorMessage;
> var $RecordSet;
> function bvckvs_baseclass(){
> $this->RecordSet = array();
> $this->Database = new bvckvs_database();
> $this->ErrorMessage = $this->Database->ErrorMessage;
> return true;
> }
>
> }
>
> If I were to write a "reinit()" it would do exactly the same thing.
> How is that not redundant?
Because you move don't duplicate the functionality -- you move it to
it's own method and call that from the constructor. That way you
don't need to call the constructor to reset things, and you don't need
to duplicate any code. That's what we've been trying to say all along
-- but you haven't seemed to have caught on.
class baseclass {
var $Database;
var $ErrorMessage;
var $RecordSet;
function bvckvs_baseclass(){
$this->reinit();
}
function reinit() {
$this->RecordSet = array();
$this->Database = new bvckvs_database();
$this->ErrorMessage = $this->Database->ErrorMessage;
}
}
Navigation:
[Reply to this message]
|