Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl对象层次结构内省_Perl_Oop_Package - Fatal编程技术网

Perl对象层次结构内省

Perl对象层次结构内省,perl,oop,package,Perl,Oop,Package,假设我有以下包层次结构: A--> B --> C --> D 这意味着A是基类,B从中继承,C从B继承,依此类推 另外,假设我有以下代码行: my $co = D->new(); 有什么方法可以检查一些通用的方法吗?如果对象co是a的后代?或者一般来说,要测试对象X是否是包P的后代,请参见 或 看 或 我相信你可以用它 $co->isa($package_name); 它是所有perl引用都具有的通用方法。 我相信你可以用 $co->isa($pack

假设我有以下包层次结构:

A--> B --> C --> D
这意味着A是基类,B从中继承,C从B继承,依此类推

另外,假设我有以下代码行:

my $co = D->new();
有什么方法可以检查一些通用的方法吗?如果对象co是a的后代?或者一般来说,要测试对象X是否是包P的后代,请参见


我相信你可以用它

$co->isa($package_name);
它是所有perl引用都具有的通用方法。
我相信你可以用

$co->isa($package_name);
它是所有perl引用都具有的通用方法。

+1用于提及罐头。使用isa通常意味着你做错了什么事。使用isa通常意味着你做错了什么。
$co->isa($package_name);