对象、模块及包

最后更新于:2022-04-01 21:07:36

## 包基础 * 包是方法的集合 * 具有自己的命名空间 * 包方法能被导出或直接调用 ~~~ Foo::bar() Foo->bar() bar() (如果 Foo 已导出它) ~~~ ## 模块基础 * 模块是包含一个或多个包的文件 * 多数人交替使用模块和包 ## 对象基础 * 对象是被 bless 的哈希引用(不必是哈希引用,但它最常见) * bless 将单个类赋给对象 * 对象可被重新 bless ### 1; * 模块必须以真值结束 * 不必是 1 * 包没有相同的限制 ## @ISA Perl 的对象继承方法使用 `@ISA` 来决定模块继承自什么类。多年前,通过直接 修改`@ISA` 声明继承。现在,多数程序使用 `base` 编译指令声明继承。 下列代码是等效的: ~~~ package Foo; require Wango; @ISA = ( "Wango" ); package Foo; use base "Wango"; ~~~
';