Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^5: Simple inheritance question

by webfiend (Vicar)
on Apr 23, 2010 at 17:12 UTC ( #836570=note: print w/ replies, xml ) Need Help??


in reply to Re^4: Simple inheritance question
in thread Simple inheritance question

Glad you got the solution you needed. I was a little unclear on the original question. I also think it's interesting that One doesn't need a constructor in the object solution. It makes sense, considering that a One is never instantiated. I didn't realize that Perl's package handling let's you "inherit" from a package that isn't actually a class.

We learn something every day if we give ourselves a chance.


Comment on Re^5: Simple inheritance question
Download Code
Re^6: Simple inheritance question
by chromatic (Archbishop) on Apr 23, 2010 at 19:36 UTC
    I didn't realize that Perl's package handling let's you "inherit" from a package that isn't actually a class.

    There's no effective difference between a package and a class or a function and a method inside Perl 5. The internals don't care. If you treat something like a class name (by using it as an invocant), Perl 5 will use that package's namespace to find the destination method. Any reference blessed into a package will use that package's namespace to find its destination methods.

    Those packages don't even have to exist for Perl 5 to attempt to dispatch to them as invocants, but you will get dispatch errors if they don't.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (12)
As of 2015-07-01 16:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (9 votes), past polls