Perl面向对象编程:深入解析与实践
1. UNIVERSAL模块
在Perl中,所有模块都隐式地继承自一个名为 UNIVERSAL
的内置模块,并继承以下三个方法:
- isa (package name) :用于检查一个模块是否继承自指定的包。例如, Rectangle->isa('Shape')
,如果 Rectangle
模块(无论间接与否)继承自 Shape
模块,则返回 true
。
- can (function name) :检查一个模块或其任何基包中是否包含指定名称的函数。如 Rectangle->can('draw')
,若存在则返回 true
。
- VERSION (need version) :用于确保加载所需版本的所有库。例如:
package Bank;
$VERSION = 5.1;
当用户使用 use Bank 5.2;
时,Perl会自动调用 Bank->VERSION(5.2)
。如果 Bank
的 $VERSION
变量值低于用户所需的版本, UNIVERSAL