Perl 中的 AFAIK 继承通常是这样设置的:
package Mule;
our @ISA = ("Horse", "Donkey");
有没有示例
use base
(或 use parent
)更好吗?
最佳答案
use base qw(Horse Donkey);
这大致相当于:
BEGIN {
require Horse;
require Donkey;
push @ISA, qw(Horse Donkey);
}
如果您需要加载模块代码并从它们继承,它会更整洁。顺便说一句,多重继承存在问题,但这是一个不同的问题:)
编辑:编译时与运行时的优势:
if (eval { 需要 X }) {
推@ISA,'X';
}
关于perl - 我应该在编译时而不是运行时建立继承,如果是,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2257315/