Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re^3: blessed confusion

by chromatic (Archbishop)
on Sep 09, 2010 at 06:06 UTC ( #859469=note: print w/ replies, xml ) Need Help??

in reply to Re^2: blessed confusion
in thread blessed confusion

Am I missing something?

Inside Perl 5, a reference only has one slot to associate it with a class. You can replace that association by blessing the reference into a different class, but there's only ever one class associated with a reference.

I don't know what object system you're thinking of, but this is how Perl 5 has worked since the beginning. Test it and see:

package Grandkid; use parent 'Kid'; sub new { bless {}, shift } package Kid; use parent 'Parent'; package Parent; sub inherited_method { 'Yep, inherited!' } package main; use Test::More 'no_plan'; my $gkid = Grandkid->new(); isa_ok( $gkid, 'Grandkid' ); isa_ok( $gkid, 'Kid' ); isa_ok( $gkid, 'Parent' ); is( $gkid->inherited_method(), 'Yep, inherited!', 'method inherited fr +om grandparent' ); done_testing();

Comment on Re^3: blessed confusion
Download Code

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (3)
As of 2015-10-04 13:57 GMT
Find Nodes?
    Voting Booth?

    Does Humor Belong in Programming?

    Results (103 votes), past polls