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

Role over subclasses

by mhearse (Hermit)
on Nov 23, 2011 at 03:23 UTC ( #939582=perlquestion: print w/ replies, xml ) Need Help??
mhearse has asked for the wisdom of the Perl Monks concerning the following question:

I have a module with multiple subclasses. I'm trying to figure out how 'Role' over these subclasses. I'm unsure of the terminology. I am using perl 5.10, and am wondering if this can be done without the use of a module, or perl6. Any examples would be helpful.
package Test1; use base 'Example1'; ## overrided method sub getObjectId { my $self = shift; my $arg = shift; return Other::Package::lookupId($arg); } 1; package Test2; use base 'Example2'; ## overrided method sub getObjectId { my $self = shift; my $arg = shift; return Other::Package::lookupId($arg); } 1; package Test3; use base 'Example2'; ## overrided method sub getObjectId { my $self = shift; my $arg = shift; return Other::Package::lookupId($arg); } 1;

Comment on Role over subclasses
Download Code
Replies are listed 'Best First'.
Re: Role over subclasses
by grantm (Parson) on Nov 23, 2011 at 05:34 UTC
    I am ... wondering if this can be done without the use of a module

    Um perhaps it can but why on earth would you? A good place to find out about Roles in Perl is the Moose Manual. There are other ways to share related pieces of functionality *across* your class hierarchy but they will be considerably more work for the programmer, won't scale well across a large code base and will be harder to debug. If you're not going to use the power of pre-written code from CPAN then you're not using Perl to its full advantage.

      I am going to use MRO::Compat, I think it does what I need.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (9)
As of 2015-07-31 11:45 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 (276 votes), past polls