Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: (jeffa) 3Re: My first stab at OO perl...

by v_thunder (Scribe)
on Jul 17, 2002 at 03:57 UTC ( #182317=note: print w/ replies, xml ) Need Help??


in reply to (jeffa) 3Re: My first stab at OO perl...
in thread My first stab at OO perl...

I'm reading through perltoot(1), trying to grok perl's way of doing OO, and it actually recommends doing just what Theseus did. From perltoot:

sub new { my $proto = shift; my $class = ref($proto) || $proto; my $self = {}; $self->{NAME} = undef; $self->{AGE} = undef; $self->{PEERS} = []; bless ($self, $class); return $self; }

So is this only recommended if you plan to allow for inheritance? Or did I miss something?

-Dan


Comment on Re: (jeffa) 3Re: My first stab at OO perl...
Download Code
Re: Re: (jeffa) 3Re: My first stab at OO perl...
by v_thunder (Scribe) on Jul 17, 2002 at 04:18 UTC

    Here I go replying to myself again... :-)

    Your code *does* allow for inheritance, it just doesn't allow for someone to create a new instance by calling $foo->new() on an already made instance. Right?

    So: I now get it. Though, personally, I'd rather have it die immediately than not work correctly. And, btw, it's rather confusing to have that bit in perltoot(1).

    Thanks for making me think about this! :)

    -Dan

      No... The way my code is, it WILL allow for you to create a new instance by calling $object->new() on an already running instance, if you remove the code that merlyn disapproves of, it won't die, but it will silently work incorrectly. That's my gripe with it.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://182317]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (5)
As of 2014-09-23 01:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (210 votes), past polls