ghosh123 has asked for the wisdom of the Perl Monks concerning the following question:
Hi
I have a Derived2 class which has Derived as its base and Derived has Base as its base. I want to call a subroutine of Base.pm by the object of Derived2.pm
Please let me know what is going wrong in my code below :
## package Base.pm ### package Base; sub new { my $class = shift; my $self = {}; bless $self, $class; return $self; } sub display { my $self = shift; print "This is Base display \n"; } 1; ## package Derived.pm ## package Derived; @ISA = qw (Base); use Base; sub new { my $class = shift; my $self = {}; print "this is Derived new \n"; bless $self, $class; return $self; } sub display { my $self = shift; print "This is Derived display \n"; } 1 ## package Derived2.pm ### package Derived2; use Derived; @ISA = qw(Derived); use mro; sub new { my $class = shift; my $self = {}; bless $self, $class; return $self; } sub display { my $self = shift; print "This is Derived2 display \n"; } 1 ## Script.pl use strict; use warnings; use mro ; use Derived2; my $obj = Derived2->new(); $obj->display(); #working as expected my $gp = $obj->mro::get_linear_isa->[1]; my $gpm = $gp->can('display'); print "gp $gp |@$gp \n"; print "gp $gp |gpm $gpm \n"; $gp->display(); #does not work
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: how to get the parent class method of the parent class itself
by choroba (Cardinal) on May 21, 2014 at 13:55 UTC | |
|
Re: how to get the parent class method of the parent class itself
by scorpio17 (Canon) on May 21, 2014 at 14:27 UTC | |
|
Re: how to get the parent class method of the parent class itself
by tobyink (Canon) on May 21, 2014 at 20:59 UTC | |
|
Re: how to get the parent class method of the parent class itself
by leslie (Pilgrim) on May 22, 2014 at 11:42 UTC |