现代Perl编程:对象系统与高级设计原则
1. 现代Perl中的对象系统基础
从Perl 5.12开始,Perl 5核心明确支持 Devel::Declare ,不过该模块并非核心模块,且能与早期的Perl 5版本兼容。
1.1 受祝福的引用(Blessed References)
Perl 5的默认对象系统设计得极为精简,由三条简单规则构成:
- 类即包(package)。
- 方法即函数。
- 受祝福的引用即为对象。
bless 内置函数可将类名与引用关联起来,使得对该引用进行的任何方法调用都使用关联的类来解析。例如,默认的Perl 5对象构造函数通常是一个创建并祝福引用的方法,按惯例构造函数名为 new() ,但这并非强制要求,且构造函数几乎总是类方法,示例代码如下:
sub new
{
my $class = shift;
bless {}, $class;
}
bless 函数接受两个参数:要与类关联的引用和类名。可以在构造函数或类之外使用 bless ,不过从抽象角度建议使用方法。类名不一定需要预先存在。
引用类型在调用对象方法时并无影响,它仅决定对象如何存储实例数据。哈希引用最为常见,但也可以祝福任何类型的引用,示例如下:
my $arra
超级会员免费看
订阅专栏 解锁全文
8万+

被折叠的 条评论
为什么被折叠?



