我在想new()构造函数。我们知道我们可以提供任何名称。一般来说我们都喜欢这个..
package PP;
sub new
{
my $class = shift;
my $self = {
_first => shift,
_last => shift,
_st => shift,
};
print "First Name is $self->{_first}\n";
print "Last Name is $self->{_last}\n";
print "ST is $self->{_st}\n";
bless $self, $class;
return $self;
}
在致电时,我们按以下方式行事:
$object = new PP( "Mohan", "Sohan", 223345);
所以我们在这里使用new
,因为我们有构造函数名'new()'
但是如果构造函数名称为少()(而不是new())我们将如何处理它。是这样的吗?
$object = few PP( "Mohan", "Sohan", 223345);
答案 0 :(得分:4)
new
没有什么特别之处。 (bless
是真正构造对象的东西。)所以
$object = few PP( "Mohan", "Sohan", 223345);
相当于
$object = new PP( "Mohan", "Sohan", 223345);
间接方法调用会导致混淆错误,因此通常建议使用以下方法
$object = PP->new( "Mohan", "Sohan", 223345);
$object = PP->few( "Mohan", "Sohan", 223345);