Курс Raku / Об’єкти, введення-виведення та винятки / Класи та об’єкти / Атрибути

Значення за замовчуванням

Атрибуту можна надати типове значення, яке використовується, коли об’єкт створюють без значення для нього. Запишіть типове значення після атрибута через =:

class Dog {
    has Str $.name;
    has Rat $.weight = 4.0;
}

Зверніть увагу, що, як і для змінних, тип атрибутів можна задати примусово.

Якщо ви не передасте weight до new, атрибут візьме типове значення:

my $rex = Dog.new(name => 'Rex');
say $rex.weight; # 4

Типове значення все одно можна перекрити, передавши своє:

my $lighty = Dog.new(name => 'Lighty', weight => 3.2);
say $lighty.weight; # 3.2

Без типового значення й без значення, переданого до new, атрибут просто невизначений — точнісінько як щойно створена скалярна змінна.

Практика

Виконайте 1 тест за змістом цієї теми.

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

Атрибути для читання та запису   |   Тест — Атрибути


💪 Або перейдіть одразу до вправ цього розділу.