我有一个关于 Perl 中的多级继承的问题。
这是我的代码
mod.pm
package first;
sub disp {
print "INSIDE FIRST\n";
}
package second;
@ISA = qw(first);
sub disp {
print "INSIDE SECOND\n";
}
package third;
@ISA = qw(second);
sub new {
$class = shift;
$ref = {};
bless $ref, $class;
return $ref;
}
sub show {
$self = shift;
print "INSIDE THIRD\n";
}
1;
prog.pl
use mod;
$obj = third->new();
$obj->show();
$obj->disp();
我有一个包含三个类的 .pm 文件。我想使用第三类的对象访问第一类中的 disp
方法。我不确定它是如何工作的。
我尝试使用两种方式访问:
- 使用类名 => first::disp()
- 在第二个包中使用 SUPER 方法 => $self->SUPER::disp();
但不确定如何使用第三类对象直接访问它。
最佳答案
$obj->first::disp()
,但是你要求做的是你绝对不应该做的事情。修正你的设计。
关于perl - Perl 中的多级继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40792850/