Курс языка программирования Raku / Объекты, ввод-вывод и исключения / Классы и объекты
Методы
Атрибуты дают объекту данные; методы дают ему поведение.
Метод — это подпрограмма, которая принадлежит классу и вызывается у
объекта. Объявляется он ключевым словом method:
class Dog {
has $.name;
method bark {
return $.name ~ ' says Woof!';
}
}Метод вызывается у объекта через точку, точно так же, как аксессор:
my $rex = Dog.new(name => 'Rex');
say $rex.bark; # Rex says Woof!Внутри метода объект, у которого метод был вызван, доступен как
self. К атрибутам обращаются через их аксессоры,
записываемые как $.name, $.age и так далее.
Они работают и в интерполируемых строках:
class Dog {
has $.name;
method greet {
"Hello, my name is $.name";
}
}
say Dog.new(name => 'Rex').greet; # Hello, my name is RexСледующие темы посвящены приватным атрибутам (теперь, когда у нас есть методы, чтобы ими пользоваться), методам с параметрами и методам, вызывающим другие методы.
Темы этого раздела
Практика
Пройдите 1 тест по содержанию этого раздела.
Упражнения
В этом разделе 4 упражнения. Прежде чем приступать к практике, изучите все темы раздела.