Raku kurss / Objekti, ievade/izvade un izņēmumi / Klases un objekti / Atribūti
Lasāmi un rakstāmi atribūti
Pēc noklusējuma piekļuves metode, ko izveido has $.name,
ir tikai lasāma. Vērtība tiek inicializēta konstruktorā, un pēc
tam to var nolasīt, bet no ārpuses mainīt nevar. Piešķiršana tai ir
kļūda:
class Dog {
has $.name;
}
my $rex = Dog.new(name => 'Rex');
$rex.name = 'Max';Tas apstājas ar:
Cannot modify an immutable Str (Rex)Lai atļautu vērtību mainīt caur piekļuves metodi, atzīmējiet atribūtu
ar iezīmi is rw:
class Dog {
has $.name is rw;
}
my $rex = Dog.new(name => 'Rex');
$rex.name = 'Max';
say $rex.name; # MaxTagad piekļuves metode atgriež rakstāmu konteineru, tāpēc piešķiršana
darbojas un objekta name kļūst par Max.
Kursa navigācija
← Atribūti | Noklusētās vērtības →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.