bless
指示 Perl 将 REF
所引用的项目标记为某个包中的对象。bless
的双参数版本总是优先选择,除非有特定原因不使用它。
将引用的项目祝福到特定包中(推荐形式)
bless $ref, $package;
双参数形式将对象添加到作为第二个参数指定的包中。
将引用的项目祝福到 main
包中
bless $ref, "";
如果第二个参数为空字符串,bless
将对象添加到 main
包中。
将引用的项目祝福到当前包中(不可继承)
bless $ref;
如果 bless
不带第二个参数使用,则对象将在当前包中创建。如果派生类可能继承执行 bless
的方法,则应始终提供第二个参数。由于它可能是错误的来源,因此不鼓励使用单参数 bless
。
有关对象祝福(以及祝福)的更多信息,请参阅 perlobj。
bless
返回其第一个参数,即提供的引用,作为函数的值;由于 bless
通常是构造函数中执行的最后一步,这意味着对对象的引用将作为构造函数的值返回,并允许调用者立即在方法调用中使用此返回的对象。
CLASSNAME
应该始终是混合大小写名称,因为全大写和全小写名称分别仅用于 Perl 内置类型和pragma。避免创建全大写或全小写包名称,以防止混淆。
还要避免将东西 <Cbless> 到类名 0
中;这将导致(错误地)检查 ref
结果以查看引用是否被 bless
的代码失败,因为 "0",一个假值,将被返回。
有关更多详细信息,请参阅 "perlmod 中的 Perl 模块"。