Курс 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. Переведення температури

Навігація курсом

Розв’язання: Змінювана мітка   |   Приватні атрибути