Jak zastosować "use base" w Perlu do dziedziczenia subsów z niektórych modułów bazowych?Jak dziedziczę podprogramy w Perlu za pomocą "podstawy użycia"?
Jestem przyzwyczajony do mechaniki dziedziczenia C++, a wszystkie witryny, do których googlełem, spowodowały więcej zamieszania niż pomocy. Chcę zrobić coś takiego:
#! /usr/bin/perl
#The base class to inherit from
use strict;
use warnings;
package 'TestBase';
#-------------------------------
sub tbSub
{
my ($self, $parm) = @_;
print "\nTestBase: $parm\n";
}
1;
.
#! /usr/bin/perl
#The descendent class
use strict;
use warnings;
use base qw(TestBase);
sub main;
sub mySub;
#-------------------------------
#Entry point...
main();
#---code------------------------
sub main
{
mySub(1);
tbSub(2);
mySub(3);
}
#-------------------------------
sub mySub
{
my $parm = shift;
print "\nTester: $parm\n";
}
Perl narzeka/nie może znaleźć tbSub.
Nie, nie nazywane tak w ten sposób - będzie wyglądać hierarchii dziedziczenia, więc może wywołać sub w zupełnie innej paczce. Również twoje przykłady nie są poprawną składnią. (Wiem, co próbujesz powiedzieć, ale jak to powiedziałeś, jest to konieczne, aby wprowadzić kogoś w błąd tak samo jak PO jeszcze bardziej.) –
Oczywiście chodzi po drzewie dziedziczenia. W końcu chodzi o dziedziczenie. Zauważ, że OP jest używany do dziedziczenia C++, więc pomyślałem, że to będzie oczywiste. – tsee