如何在Perl中应用'use base'来从一些基本模块继承subs?如何在Perl中使用'use base'继承子例程?
我习惯于C++继承机制,并且我为此搜索的所有网站导致更多的困惑,然后帮助。我想要做的事情如下:
#! /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抱怨/无法找到tbSub。
不,它不会像这样结束 - 它将查找继承层次结构,因此可能会调用完全不同的包中的子。另外,你的例子不是有效的语法。 (我知道你在说什么,但是你怎么说这样做肯定会让人更加困惑,因为OP更令人困惑。) – 2008-11-03 11:57:58
当然,它走的是继承树。毕竟,问题是关于继承。请注意,OP用于使用C++继承,所以我认为这很明显。 – tsee 2008-11-03 12:51:11