Курс по 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 упражнения. Разгледайте всички теми в раздела, преди да се захванете с практиката.