Я читаю Programming Perl
, и я нашел этот фрагмент кода:
sub new {
my $invocant = shift;
my $class = ref($invocant) || $invocant;
my $self = {
color => "bay",
legs => 4,
owner => undef,
@_, # Override previous attributes
};
return bless $self, $class;
}
С конструкторами, подобными этому, какое преимущество вызова new
в экземпляре объекта? Я предполагаю, что это за что, да? Я предполагаю, что если кто-то захочет написать такой конструктор, ему придется добавить еще один код, который копирует атрибуты первого объекта в тот, который будет создан.