首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Perl中使用Bless运算符?

如何在Perl中使用Bless运算符?
EN

Stack Overflow用户
提问于 2013-06-20 19:36:00
回答 3查看 3.6K关注 0票数 2

有没有人能解释一下在perl中使用bless的重要性和方法。我读过很多关于bless上的堆栈溢出的线程,但他们不清楚。

EN

Stack Overflow用户

发布于 2013-06-20 21:07:21

perlobj documentation的顶部通过示例给出了有用的解释。

一个对象仅仅是一个数据结构

与许多其他支持面向对象的语言不同,Perl不提供任何用于构造对象的特殊语法。对象仅仅是Perl数据结构(散列、数组、标量、文件句柄等)显式地与特定类相关联。

这种显式关联是由内置的bless函数创建的,该函数通常在类的构造器子例程中使用。

下面是一个简单的构造函数:

包文件;子新{ my $class = shift;return $class {},$class;}

new这个名字并不特别。我们可以将构造函数命名为其他名称:

包文件;子加载{ my $class = shift;return $class {},$class;}

OO模块的现代约定是始终使用new作为构造函数的名称,但并不要求这样做。在Perl中,任何将数据结构放入类中的子例程都是有效的构造函数。

在前面的示例中,{}代码创建了一个对空匿名哈希的引用。然后bless函数获取该引用,并将散列与$class中的类关联起来。在最简单的情况下,$class变量最终将包含字符串"File"

我们还可以使用一个变量来存储对作为我们的对象的数据结构的引用:

子新{ my $class = shift;my $self = {};保佑$self,$class;return $self;}

一旦我们完成了$self引用的散列,我们就可以开始调用它的方法了。

票数 2
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17212597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档