假设我有以下包层次结构:
A--> B --> C --> D
Run Code Online (Sandbox Code Playgroud)
这意味着什么A是基类,并B从它C继承而继承自B等等.
另外,假设我有以下代码行:
my $co = D->new();
Run Code Online (Sandbox Code Playgroud)
有没有办法检查(一些UNIVERSAL方法?)如果对象co是一个后代A?(或者一般来说,测试一个对象X是否是包的后代P)
if ($D->isa('A')) {print "do something fancy"}
Run Code Online (Sandbox Code Playgroud)
要么
if ($D->can('method_defined_in_A')) {print "can do that";}
Run Code Online (Sandbox Code Playgroud)