Язык программирования Perl


Описание классов - часть 2


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}; # вернуть значение атрибута }

Обратите внимание, что описание класса значительно проще, чем описание традиционного модуля. Для работы с классом не требуется никаких списков экспортирования имен. Вместо этого описываются методы, которые можно рассматривать как сервисы, предоставляемые классом для взаимодействия с каждым из конкретных экземпляров класса. Набор методов для управления поведением объекта называют его интерфейсом. Для работы с объектами класса достаточно знать этот интерфейс, не вдаваясь в детали реализации поведения объектов.




Начало  Назад  Вперед



Книжный магазин