й аргумент: ссылка на объект
sub give_name { # метод изменения (modifier) атрибута name my $self = $_[0]; # 1- й аргумент: ссылка на объект $self->{name} = $_[1]; # 2-й аргумент: новое значение } 1; # истинное значение требуется для use __END__ # конец описания класса
В классе описываются методы для работы с атрибутами объектов класса, причем часто один метод используется для чтения и для изменения значения атрибута. В примере опишем метод для чтения и записи (mutator) свойства 'height' ("рост"):
sub height { # метод чтения и записи атрибута height my $self = shift; # извлечь ссылку на объект $self->{height} = shift # присвоить новое значение, if @_; # если передан аргумент return $self->{height}; # вернуть значение атрибута }
Обратите внимание, что описание класса значительно проще, чем описание традиционного модуля. Для работы с классом не требуется никаких списков экспортирования имен. Вместо этого описываются методы, которые можно рассматривать как сервисы, предоставляемые классом для взаимодействия с каждым из конкретных экземпляров класса. Набор методов для управления поведением объекта называют его интерфейсом. Для работы с объектами класса достаточно знать этот интерфейс, не вдаваясь в детали реализации поведения объектов.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий