gpt4 book ai didi

perl - 为什么Perl的SUPER调用不使用箭头方法?

转载 作者:行者123 更新时间:2023-12-02 20:53:37 25 4
gpt4 key购买 nike

我注意到当你调用父类(super class)的方法时,你需要做这样的事情:

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::method。另外,如果您打算在 Perl 中进行严肃的面向对象工作,请看看 Moose。

关于perl - 为什么Perl的SUPER调用不使用箭头方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1385511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com