Курс языка программирования 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 тест по содержанию этой темы.

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

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


💪 Или перейдите сразу к упражнениям этого раздела.