加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

为什么Perl的SUPER呼叫不使用箭头方法?

发布时间:2020-12-15 21:11:48 所属栏目:大数据 来源:网络整理
导读:我注意到,当你调用一个超类的方法时,你需要这样做: my $self = $class-SUPER::new(); 为什么不这样呢? my $self = $class-SUPER-new(); 解决方法 我怀疑因为$class- SUPER- new()通常与$class- SUPER() – new()相同.但是没有一个$class- SUPER()函数,它不
我注意到,当你调用一个超类的方法时,你需要这样做:
my $self = $class->SUPER::new();

为什么不这样呢?

my $self = $class->SUPER->new();

解决方法

我怀疑因为$class-> SUPER-> new()通常与$class-> SUPER() – > new()相同.但是没有一个$class-> SUPER()函数,它不清楚会返回什么.

另一方面,$class-> Foo :: Bar一直是以全名方式直接调用方法的有效方式,因此使一个特殊的类似东西的SUPER – 更适合. (我怀疑你实际上可以实施SUPER作为一个包,也许在历史上是,我不知道)

PS:看看mro包,和$self> next ::方法.另外,如果您要在Perl中进行严肃的OO工作,请查看Moose.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读