gpt4 book ai didi

perl - perl 中的继承和默认构造函数

转载 作者:行者123 更新时间:2023-12-01 11:04:26 25 4
gpt4 key购买 nike

我有以下代码:-

package A;

sub new{
//constructor for A
}

sub hello{
print "Hello A";
}

1;

package B;
use base qw(A);

sub hello{
print "Hello B";
}

1;

我的问题是如何在不为 B 提供构造函数的情况下实例化 B,即我的 $b = B->new(),我需要在 A 中进行哪些更改才能实现此目的。这可能吗?

谢谢。

最佳答案

是的。将其用作A 方法:

sub new {
my ($cls, @args) = @_;
# ...
my $obj = ...; # populate this
bless $obj, $cls;
}

关键是当使用B->new时,第一个参数是B(在我的例子中我绑定(bind)到$cls ).因此,如果您使用 $cls 调用 bless,该对象将被赋予正确的包。

关于perl - perl 中的继承和默认构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7494159/

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