Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Klasoj kaj objektoj / Atributoj

Defaŭltaj valoroj

Atributo povas ricevi defaŭltan valoron, kiu estas uzata, kiam objekto estas kreita sen valoro por ĝi. Skribu la defaŭlton post la atributo, per =:

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

Rimarku, ke simile al variabloj, eblas devigi la tipon de la atributoj.

Se vi ne transdonas weight al new, la atributo prenas la defaŭlton:

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

Vi ankoraŭ povas superregi la defaŭlton transdonante valoron:

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

Sen defaŭlto, kaj sen valoro transdonita al new, atributo estas simple nedifinita, ekzakte kiel freŝa skalara variablo.

Praktiko

Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.

Kursa navigado

Leg- kaj skribeblaj atributoj   |   Kvizo — Atributoj


💪 Aŭ iru rekte al la ekzercoj de ĉi tiu sekcio.