Курс по 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 тест върху съдържанието на тази тема.

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

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


💪 Или преминете направо към упражненията в този раздел.