2 Stimmen

Perl OO Frage, Vererbung - Aufruf der übergeordneten Methode

Warum kann ich im folgenden Code die Testmethode des Elternobjekts nicht über das Kindobjekt aufrufen?

    use strict;
    use Data::Dumper;

    my $a = C::Main->new('Email');
    $a->testmethod();

    package C::Main;

    sub new {
        my $class = shift;
        my $type  = shift;
        $class .= "::" . $type;
        my $fmgr = bless {}, $class;
        $fmgr->init(@_);
        return $fmgr;
    }

    sub init {
        my $fmgr = shift;
        $fmgr;
    }

    sub testmethod {
        print "SSS";
    }

    package C::Main::Email;
    use Net::FTP;

    @C::Main::Email::ISA = qw( C::Main );

    sub init {
        my $fmgr = shift;
        my $ftp = $fmgr->{ftp} = Net::FTP->new( $_[0] );
        $fmgr;
    }

    package C::Main::FTP;
    use strict;
    use Net::FTP;

    @C::Main::Email::FTP = qw( C::Main );

    sub init {
        my $fmgr = shift;
        $fmgr;
    }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X