Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Re: Re: Re: OO - problem with inheritance

by uwevoelker (Pilgrim)
on Jan 16, 2002 at 23:27 UTC ( [id://139296]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Re: OO - problem with inheritance
in thread OO - problem with inheritance

Hello Ilya,
I need your help. I have written an Parameter::Validate module. And now I would like to use it as you said.
use strict; use lib '/home/uwe/cvs/perl'; use lib '/home/uwe/cvs/perl/module'; use Parameter::Validate; use base 'CCS::Data::Datatype::base_class'; # parameter configuration #my $pv = CCS::Data::Datatype::base_class->pv->clone; my $pv = SUPER->pv->clone; $pv->enable(qw(mandatory min_length max_length)); $pv->change(max_length => {max => 255, default => 255}, min_length => {max => 255}); sub pv { $pv; }
If I use the full qualified parent class name (CCS::Data::Datatype::base_class->pv) everything works like expected. But if I use the line with SUPER->pv I get an error: Can't locate object method "pv" via package "SUPER" (perhaps you forgot to load "SUPER"?) at /home/uwe/cvs/perl/CCS/Data/Datatype/String.pm line 16.
So, what is wrong with SUPER?

Thank you, Uwe

Replies are listed 'Best First'.
Re: Re: Re: Re: Re: OO - problem with inheritance
by IlyaM (Parson) on Jan 17, 2002 at 16:50 UTC
    I'm sorry I gave you example which uses wrong syntax. See updated node for fix. Instead of SUPER->pv it should be YourPackage->SUPER::pv. Here YourPackage is full qualified name of your subclassed package. Also you can use special token __PACKAGE__ instead of YourPackage. It will be substituted by Perl with this name.

    BTW be careful with selection of package name. FYI CPAN already has Params::Validate. It is not same name but very close.

    --
    Ilya Martynov (http://martynov.org/)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (5)
As of 2024-04-19 07:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found