假设我有以下包层次结构:
A--> B --> C --> D
这意味着A
是基类并B
从它C
继承,然后从 B 继承,依此类推。
另外,假设我有以下代码行:
my $co = D->new();
有什么方法可以检查(某种UNIVERSAL
方法?)对象co
是否是 的后代A
?(或者一般来说,测试一个对象X
是否是 package 的后代P
)
见通用。
if ($D->isa('A')) {print "do something fancy"}
或者
if ($D->can('method_defined_in_A')) {print "can do that";}