Методы
В Perl-е метод имеет синтаксис простой подпрограммы. В качестве первого аргумента
метода выступает объект или пакет. Существует два типа методов: статические и
виртуальные методы.
Статические методы имеют первым аргументом имя класса. Они обеспечивают функциональность
для класса в целом, а не для отдельных объектов принадлежащих классу. Конструкторы
являются, как правило, статическими методами. Многие статические методы просто игнорируют
свой первый аргумент, так как заранее знают, какому пакету они принадлежат.
Другой способ использования статических методов состоит в том, что метод работает
с объектом, используя имя:
sub find {
my ($class, $name) = @_;
$objtable{$name};
}
Виртуальные методы имеют первым аргументом ссылку на объект. Обычно они
помещают
эту ссылку в переменную self или this и в дальнейшем используют ее как обычную
ссылку.
sub display {
my $self = shift;
my @keys = @_ ? @_ : sort keys %$self;
foreach $key (@keys) {
print "\t$key => $self ->{$key}\n";
}
}