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

  1. Вървящ робот
  2. Обърната дума
  3. Лице на правоъгълник
  4. Преобразуване на температура

Навигация в курса

Решение: Променлив надпис   |   Частни атрибути